在Windows上从NPM脚本运行ESLint

时间:2016-02-15 18:03:53

标签: 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脚本时,脚本运行时没有输出且没有错误。

如何使这项工作的任何方向都会很棒。感谢。

1 个答案:

答案 0 :(得分:1)

如果您以这种方式配置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。