如何使用 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

您可以在保存代码时使用 nodemonexec 选项来 运行 您的测试。这是一个例子:

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.

测试了这个