Express.js + Lint出错

时间:2018-06-25 10:51:36

标签: javascript node.js express vue.js eslint

https://www.youtube.com/watch?v=Fa4cRMaTDUI 我正在观看本课,并尝试重新创建作者所做的一切。在19:00,他设置了vue.js-express.js项目。他创建了一个名为“服务器”的文件夹。在“服务器/”中,他运行“ npm init -f”。然后“ npm install --save nodemon eslint”,然后他启动eslint。 然后他在package.json文件中写道:

"scripts": {
    "start": "nodemon src/app.js --exec 'npm run lint && node'",
    "lint": "eslint **/*.js"
}

然后在文件夹“服务器”中创建文件夹“ src”。在“ src”中,他创建了“ app.js”。然后在'app.js;有一个简单的console.log('hello')。 然后他运行“ npm start”。在终端上打印“ Hello”,nodemon和eslint可以正常工作。然后,他输入“ npm install --save express”。那就是我的问题开始的地方。安装express.js后,我输入“ npm start”,并在终端中收到此错误:

Oops! Something went wrong! :(

ESLint: 5.0.0.
No files matching the pattern "node_modules/ipaddr.js" were found.
Please check for typing mistakes in the pattern.

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! server@1.0.0 lint: `eslint **/*.js`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the server@1.0.0 lint script. 
npm ERR! This is probably not a problem with npm. There is likely additional   logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/r/.npm/_logs/2018-06-25T10_32_02_027Z-debug.log
[nodemon] process failed, unhandled exit code (2)
[nodemon] Error
at Bus.utils.bus.on (/home/r/projects/tab-tracker/server/node_modules    /nodemon/lib/nodemon.js:148:25)
    at Bus.emit (events.js:164:20)
at ChildProcess.<anonymous> (/home/r/projects/tab-tracker/server/node_modules/nodemon/lib/monitor/run.js:164:11)
at ChildProcess.emit (events.js:159:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)

为什么会这样?

7 个答案:

答案 0 :(得分:10)

引用该模式,它可以像以前的eslint版本一样正常工作

"lint": "eslint \"**/*.js\""

贷方转到 https://github.com/eslint/eslint/issues/10599

答案 1 :(得分:1)

@joknawe在评论中给出了正确答案,谢谢。 编辑:

  

看起来好像它正在尝试清理您的node_modules目录。默认情况下应忽略此问题,但是通配符** / *。js可能是造成此问题的原因。尝试仅使用eslint

答案 2 :(得分:0)

在Mac中,我仅通过更改以下行即可解决

上一个

  

“ lint”:“” lint“:” ./node_modules/.bin/eslint ** / *。js“”

之后

  

“ lint”:“ ./node_modules/.bin/eslint src / *。js”

答案 3 :(得分:0)

替换您的代码

"start": "nodemon src/app.js --exec 'npm run lint && node'",
"lint": "eslint **/*.js"

"start": "nodemon src/app.js --exec 'npm run lint && node'",
"lint": "eslint"

答案 4 :(得分:0)

我使用WSL,并通过更改以下行来修复。

上一个

"start": "./node_modules/nodemon/bin/nodemon.js src/app.js --exec 'npm run lint && node'",
"lint": "./node_modules/.bin/eslint **/*.js"

之后

"start": "./node_modules/nodemon/bin/nodemon.js src/app.js --exec 'npm run lint && node'",
"lint": "./node_modules/.bin/eslint src/**/*.js --fix"

答案 5 :(得分:0)

只需在通配符**/*.js周围加上引号即可。

"scripts": {
    "start": "nodemon src/app.js --exec 'npm run lint && node'",
    "lint": "eslint **/*.js"
}

答案 6 :(得分:0)

在.eslint.js文件中,您应该替换此代码

之前

"browser": true

之后

"node": true