`npm run`命令不遵循文件查找模式

时间:2019-08-26 17:30:18

标签: node.js npm package.json

好吧,我以前从未遇到过这个问题。真奇怪我有一个如下的package.json脚本:

{
  "scripts": {
    "test": "node_modules/jest/bin/jest.js --coverage",
    "lint": "node_modules/eslint/bin/eslint.js ./src/**/*.{js,md} --fix",
    "format": "node_modules/prettier-standard/src/cli.js ./src/**/*.{js,md} --fix",
    "start": "sls offline"
  }
}

例如,如果我输入npm run lint,则查找文件的模式似乎不起作用(仅通过第一个子文件夹)。但是,如果我在终端执行命令,它将正常工作。

问题:为什么这样可以正常工作 ~ node_modules/eslint/bin/eslint.js ./src/**/*.{js,md} --fix 而且这不会 npm run lint

2 个答案:

答案 0 :(得分:1)

为什么要使用模块的完整路径?您只需要安装模块,npm就会找出脚本的位置。

npm i -D eslint jest prettier

如果文件模式仍然不起作用,请尝试用'...'包围它,这曾经是已知问题

"scripts": {
    "test": "jest --coverage",
    "lint": "eslint './src/**/*.{js,md}' --fix",
    "format": "prettier './src/**/*.{js,md}' --fix",
    "start": "sls offline"
}

答案 1 :(得分:0)

我解决了我的问题,只需将搜索模式包装在单引号中即可。

{
  "scripts": {
    "test": "node_modules/jest/bin/jest.js --coverage",
    "lint": "node_modules/eslint/bin/eslint.js './src/**/*.{js,md}' --fix",
    "format": "node_modules/prettier-standard/src/cli.js './src/**/*.{js,md}' --fix",
    "start": "sls offline"
  }
}

谢谢!