我可以强制node.js要求区分大小写吗?

Tho*_*enz 25 linux file-io node.js osx-lion

由于我的Mac具有不区分大小写的文件系统案例,因此在本地运行测试时不会捕获相关的拼写错误,但是在运行Linux的构建服务器上它们会失败.

例如:在Lion上运行时require('./mymodule')会发现./myModule.js,但在Linux上运行时则不会.

因为我想让测试在本地失败以便不破坏服务器上的构建,所以我正在寻找一种方法来使node.js需要更严格,因为如果文件名是不精确(即套管有差异).

有谁知道这样做的方法?

编辑:

由于这个问题似乎没有很好的解决方案,因此我创建了valiquire.

此工具验证在整个nodejs项目中找到的所有需求,同时确保外壳正确.

And*_*sen 5

如果您使用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

始终使用小写文件名,这样您就不必关心文件系统是否支持它。

让我想起人们过去在网址中使用空格的情况。

  • “...在本地运行测试时不会发现与大小写相关的拼写错误...” (4认同)