在我的项目中,我尝试将 ESLint 作为从 npm 脚本启动的构建过程的一部分来实现。
我已经将 eslint 和我需要的所有插件都安装为 npm 包,并且我已经将我的 .eslintrc 文件全部设置好了。当我运行命令时...
eslint src
... 在 Mac 上,一切正常。因此,我可以接受该命令并将其粘贴到 npm 脚本中,它工作得很好。
但是,在 Windows 上我遇到了问题。当我安装 eslint npm 包时,我无法从命令行使用 eslint。我看到它已安装在 node_modules 目录中,并将可执行文件放在 node_modules/.bin 目录中,但是当我运行命令时...
eslint src
...我收到一条错误消息,提示未找到 eslint 命令。
如果我在全局范围内安装 eslint 和我的所有插件,我可以让它工作,但这并不理想,因为任何其他克隆我的代码的人也需要这样做。就好像在 windows 上,命令行没有映射到 node_modules/.bin 的路径。
我试图用这个小技巧来解决这个问题:
PATH=$(npm bin):$PATH eslint src
当我直接从命令行运行此命令时,它似乎能够找到 eslint 命令并且一切正常。但是,当我将相同的命令放入 npm 脚本时,脚本运行时没有输出也没有错误。
关于如何使这项工作的任何方向都很棒。谢谢。
最佳答案
如果你这样配置你的package.json
{
"name": "test",
"version": "0.1.1",
"description": "Validate files with ESLint",
"scripts": {
"test": "eslint src"
},
"devDependencies": {
"eslint": "^2.0.0",
"eslint-config-ideal": "^0.1.0"
}
}
现在就运行
npm install
然后运行
npm test
这应该可以跨操作系统工作。
注意:如果您直接运行 eslint
,则需要使用 npm install eslint -g
命令全局安装 eslint。
关于javascript - 在 Windows 上从 NPM 脚本运行 ESLint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35416085/