linux - javascript indexof不分大小寫




我可以強制node.js要求區分大小寫嗎? (3)

在不更改操作系統文件分區的情況下,您可以使用自動檢測這些更改的捆綁器,我個人使用webpack 2.它在文件解析時發出警告但情況不同。 它不會阻止在OSX / Windows上編譯,但你會有一個提示。 如今,擁有捆綁包是js dev的重要資產

hacky和不推薦的方法是shim要求並強制某個案例或嘗試盡可能多的案例但這樣做可能非常難看並且如果有案例的話,在沒有說明加載錯誤文件的潛在危險的情況下會產生不良表現 - 重命名文件並且不清除舊文件

由於我的Mac有一個不區分大小寫的文件系統案例,在本地運行測試時不會捕獲相關的拼寫錯誤,但是在運行Linux的構建服務器上它們會失敗。

例如: require('./mymodule')在Lion上運行時會找到./myModule.js ,但在Linux上運行./myModule.js找不到./myModule.js

因為我想讓測試在本地失敗以便不破壞服務器上的構建,所以我正在尋找一種方法來使node.js需要更嚴格,因為如果文件名是不精確(即套管有差異)。

有誰知道這樣做的方法?

編輯

由於這個問題似乎沒有很好的解決方案,因此我創建了valiquire

此工具驗證在整個nodejs項目中找到的所有需求,同時確保外殼正確。


如果你使用webpack,請查看https://github.com/Urthen/case-sensitive-paths-webpack-plugin

剛為我們的開發版安裝它。 本來可以讓我們免於多次採取刺激......如果你在這個問題上,那麼可能已經發生了😉

安裝

npm install --save-dev case-sensitive-paths-webpack-plugin

用法

const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');

const webpackConfig = {
    plugins: [
        new CaseSensitivePathsPlugin(),
        // other plugins ...
    ],
    // other webpack config ...
};





osx-lion