如何使用 nodemon 进行 linting?
how to do linting using nodemon?
我可以使用 nodemon 来检查我的 javascript 吗?我没有使用任何构建工具,例如gulp 或 grunt 并希望最大限度地利用 node 和 npm。
The output from nodemon can be piped。我想用它来使用 eslint 对更改后的文件进行检查。
这是我的 package.json
{
"name": "app",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "nodemon server.js",
"lint": "eslint"
},
"dependencies": {
"MD5": "*",
"clean-css": "*",
"express": "~4.9.0",
"express-handlebars": "~2.0.1",
"express-redis-cache": "*",
"foundation-sites": "~5.5.3",
"fs-extra": "~0.8.1",
"node-rest-client": "~1.5.1",
"node-sass": "*",
"path": "*"
},
"devDependencies": {
"babel-eslint": "^4.1.6",
"eslint": "^1.10.3",
"eslint-config-airbnb": "^2.1.1",
"eslint-config-airbnb-es5": "^1.0.8",
"eslint-plugin-react": "^3.13.1",
"nodemon": "~1.8.1",
"parallelshell": "~2.0.0",
"watch": "~0.17.1"
}
}
我试过了。但它不会 work.It 给出错误。
"scripts": {
"start": "nodemon({ script: 'server.js' }).on('restart', function () {console.log('nodemon started');}).on('crash', function () {console.log('script crashed for some reason');});",
"lint": "eslint"
},
Linting 纯粹是一个开发过程。 Nodemon
是用于 运行ning 服务器的工具,不与构建工具相关联,但与 运行ning 您的应用程序相关联。因此答案是"NO"。您应该使用适当的工具来实现开发自动化,例如 g运行t、gulp 等,或者仅使用纯 NPM 脚本(在您的 package.json 文件中)。
如果你的项目很复杂,有很多阶段和很多捆绑等,我建议使用自动化工具。但是,如果只是 linting,你可以在你的 npm one-liner 中准备 package.json
,例如像这样:
"scripts": {
"lint": "eslint --fix src test",
}
然后 运行 使用命令:'npm run lint'。
请记住,通过使用正确配置的 .eslintrc
文件,您可以通过控制台命令检查您的代码,但也可以通过 editors/IDEs 检查代码(几乎每个广受欢迎的 IDE 都有用于eslint).
有关配置 eslint 和创建正确的 eslintrc
文件的更多信息,请参见此处:
http://eslint.org/docs/user-guide/configuring
您可以在保存代码时使用 nodemon
的 exec
选项来 运行 您的测试。这是一个例子:
nodemon server.js --exec 'npm run test && node'
这将导致 nodemon 运行 npm run test && node server.js
,并且在所有测试 运行 成功之前它不会启动服务器。
我使用 Standard.js 进行 linting,我可以使用下面的 package.json
脚本让它与 nodemon
一起工作。
"scripts": {
"lint": "standard",
"dev": "nodemon ./app --exec \"npm run lint && node\""
"start": "nodemon ./app"
}
当我 运行 npm run dev
时,我所做的任何更改都将受到监视和检测。我在 Windows
使用 PowerShell
.
测试了这个
我可以使用 nodemon 来检查我的 javascript 吗?我没有使用任何构建工具,例如gulp 或 grunt 并希望最大限度地利用 node 和 npm。
The output from nodemon can be piped。我想用它来使用 eslint 对更改后的文件进行检查。
这是我的 package.json
{
"name": "app",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "nodemon server.js",
"lint": "eslint"
},
"dependencies": {
"MD5": "*",
"clean-css": "*",
"express": "~4.9.0",
"express-handlebars": "~2.0.1",
"express-redis-cache": "*",
"foundation-sites": "~5.5.3",
"fs-extra": "~0.8.1",
"node-rest-client": "~1.5.1",
"node-sass": "*",
"path": "*"
},
"devDependencies": {
"babel-eslint": "^4.1.6",
"eslint": "^1.10.3",
"eslint-config-airbnb": "^2.1.1",
"eslint-config-airbnb-es5": "^1.0.8",
"eslint-plugin-react": "^3.13.1",
"nodemon": "~1.8.1",
"parallelshell": "~2.0.0",
"watch": "~0.17.1"
}
}
我试过了。但它不会 work.It 给出错误。
"scripts": {
"start": "nodemon({ script: 'server.js' }).on('restart', function () {console.log('nodemon started');}).on('crash', function () {console.log('script crashed for some reason');});",
"lint": "eslint"
},
Linting 纯粹是一个开发过程。 Nodemon
是用于 运行ning 服务器的工具,不与构建工具相关联,但与 运行ning 您的应用程序相关联。因此答案是"NO"。您应该使用适当的工具来实现开发自动化,例如 g运行t、gulp 等,或者仅使用纯 NPM 脚本(在您的 package.json 文件中)。
如果你的项目很复杂,有很多阶段和很多捆绑等,我建议使用自动化工具。但是,如果只是 linting,你可以在你的 npm one-liner 中准备 package.json
,例如像这样:
"scripts": {
"lint": "eslint --fix src test",
}
然后 运行 使用命令:'npm run lint'。
请记住,通过使用正确配置的 .eslintrc
文件,您可以通过控制台命令检查您的代码,但也可以通过 editors/IDEs 检查代码(几乎每个广受欢迎的 IDE 都有用于eslint).
有关配置 eslint 和创建正确的 eslintrc
文件的更多信息,请参见此处:
http://eslint.org/docs/user-guide/configuring
您可以在保存代码时使用 nodemon
的 exec
选项来 运行 您的测试。这是一个例子:
nodemon server.js --exec 'npm run test && node'
这将导致 nodemon 运行 npm run test && node server.js
,并且在所有测试 运行 成功之前它不会启动服务器。
我使用 Standard.js 进行 linting,我可以使用下面的 package.json
脚本让它与 nodemon
一起工作。
"scripts": {
"lint": "standard",
"dev": "nodemon ./app --exec \"npm run lint && node\""
"start": "nodemon ./app"
}
当我 运行 npm run dev
时,我所做的任何更改都将受到监视和检测。我在 Windows
使用 PowerShell
.