86

tsc --watch && nodemon --watchnpm スクリプトを同時に実行する方法を探しています。これらのコマンドは個別に実行できますが、両方を実行したい場合は、最初のコマンドのみが実行されます。例えば:

"scripts": {    
    "runDeb": "set NODE_ENV=development&& tsc --watch && nodemon --watch"
  }

tsc --watch実行されますがnodemon、呼び出されることはありません。逆もまた同様です。

4

10 に答える 10

156

あなたが望むのは次のようなものだと思います(私の現在の設定):

"scripts": {
    "compile": "tsc && node app.js",
    "dev": "./node_modules/nodemon/bin/nodemon.js -e ts  --exec \"npm run compile\""
}

「compile」と「dev」という 2 つのスクリプトを作成しました。開発を開始するnpm run devには、nodemon を起動して .ts ファイルを (-eフラグを使用して) 監視するように実行するだけです。次に、.ts ファイルが変更されるたびに nodemon はexec、基本的にノード アプリをコンパイルして実行するコンパイル タスクを実行します。

同時に使用することは良いオプションですが、私のセットアップでtscは、結果の .js ファイルを実行しようとする前に の作業が完了していることを保証しています。

于 2016-10-17T18:26:06.143 に答える
29

これを package.json に追加してみてください:

"scripts": {
  "start": "concurrently --kill-others \"tsc -w\" \"nodemon dist/app.js\"",
}

また、この npm パッケージ (同時に nodemon、typescript) を package.json に追加します。

"devDependencies": {
  "concurrently": "^2.2.0",
  "typescript": "^1.8.10",
  "nodemon": "^1.9.2",
}
于 2016-08-01T09:57:09.153 に答える
9

nodemon の最新バージョンを使用した2018 年 10 月の私のソリューション。

最初に: ( ) と( )を
インストールしますnodemonnpm install nodemon --save-devts-nodenpm install ts-node --save-dev

2 番目:
を作成しnodemon.jsonます。npm スクリプトを少し読みやすくするために、nodemon 構成を別の nodemon.json に保持するのが好きです。したがってnodemon.json、次の内容でプロジェクトのルートに作成します。

{
    "ignore": ["**/*.test.ts", "**/*.spec.ts", ".git", "node_modules"],
    "watch": ["src"], // your .ts src folder
    "exec": "npm start", // your npm script created in package.json
    "ext": "ts"
}

次に、次のようにnpm startスクリプトを作成します。

"scripts": {
    ...
    "start": "ts-node src/server.ts",
    "dev:ts": "nodemon",
    ...
  }

次に、typescriptサーバーコードを実行するnpm run dev:tsか、実行して監視yarn dev:tsする必要があります。

Jest単体テストなどのその他の構成については、この記事をご覧ください。

于 2018-10-07T22:00:47.837 に答える
7

速いTypeScript-Node-Starterです

https://github.com/microsoft/TypeScript-Node-Starter/blob/master/package.json

"dev": "concurrently -k -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold\" \"npm run watch-ts\" \"nodemon ./dist/app.js\"",
"watch-ts": "tsc -w"

ここでは、 ( を使用して) 名前を付けnpm run watch-ts、を使用して色を追加しています。TypeScriptconcurrently -nyellow.boldconcurrently -c

そのため、各プロセスのメッセージを簡単に認識できます。

于 2019-05-19T23:53:42.787 に答える