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)
为什么会这样?
答案 0 :(得分:10)
引用该模式,它可以像以前的eslint版本一样正常工作
"lint": "eslint \"**/*.js\""
答案 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