web-dev-qa-db-ja.com

nodemonを使用してリンティングを行う方法は?

Nodemonを使用してJavaScriptをリントできますか?ビルドツールを使用していません。 gulpまたはgruntで、nodeとnpmを最大限に活用したい。

nodemonからの出力はパイプできます 。これを使用して、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"
  }
}

私はこれを試しました。しかし、それは機能しません。エラーが発生します。

       "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"
  },
12
DrEarnest

execnodemonオプションを使用して、コードを保存しながらテストを実行できます。次に例を示します。

nodemon server.js --exec 'npm run test && node'

これにより、nodemonが実行されますnpm run test && node server.js、そしてすべてのテストが正常に実行されるまでサーバーを起動しません。

38
Brandon

リンティングには Standard.js を使用し、以下のpackage.jsonスクリプトを使用してnodemonで動作させることができます。

"scripts": {
  "lint": "standard",
  "dev": "nodemon ./app --exec \"npm run lint && node\""
  "start": "nodemon ./app"
}

npm run devを実行すると、行った変更が監視され、表示されます。 Windowsを使用してPowerShellでこれをテストしました。

5
Amir