Tho*_*enz 25 linux file-io node.js osx-lion
由于我的Mac具有不区分大小写的文件系统案例,因此在本地运行测试时不会捕获相关的拼写错误,但是在运行Linux的构建服务器上它们会失败.
例如:在Lion上运行时require('./mymodule')会发现./myModule.js,但在Linux上运行时则不会.
因为我想让测试在本地失败以便不破坏服务器上的构建,所以我正在寻找一种方法来使node.js需要更严格,因为如果文件名是不精确(即套管有差异).
有谁知道这样做的方法?
编辑:
由于这个问题似乎没有很好的解决方案,因此我创建了valiquire.
此工具验证在整个nodejs项目中找到的所有需求,同时确保外壳正确.
如果您使用webpack,请查看https://github.com/Urthen/case-sensitive-paths-webpack-plugin
刚刚为我们的开发版本安装了它。本来可以使我们免于多次砍掉产品……如果您在这个问题上,那可能已经在发生
npm install --save-dev case-sensitive-paths-webpack-plugin
Run Code Online (Sandbox Code Playgroud)
const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
const webpackConfig = {
plugins: [
new CaseSensitivePathsPlugin(),
// other plugins ...
],
// other webpack config ...
};
Run Code Online (Sandbox Code Playgroud)
cho*_*ovy -6
始终使用小写文件名,这样您就不必关心文件系统是否支持它。
让我想起人们过去在网址中使用空格的情况。