javascript - 在 Windows 上从 NPM 脚本运行 ESLint

标签 javascript npm eslint

在我的项目中,我尝试将 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/

相关文章:

javascript - 删除 npm 包时会发生什么?

eslint坚持不缩进<script>标签

javascript - 隐藏文本区域时无法复制到剪贴板

javascript - 从 mongo 返回纯 json 对象的问题

javascript - Angularjs 绑定(bind)日期时间选择器中的值

react-native - Jest/ESLint 失败未定义

javascript - 如何解决我的 TypeScript/ESLint/Webpack 转译问题

javascript - 为什么我无法使用 JSON 数据?

node.js - npm chokidar 发射事件两次

meteor - choco Meteor 安装 - 自定义/不同的安装位置