TypeScriptコードを直接コンパイルして出力を取得するコマンドがあることを知りたいだけです。今、私がしていることは、ファイルを変更するたびに、コマンドを再実行してコンパイルする必要があることです
npm start
これによりブラウザが起動し、ctrl + cを使用して実行を停止し、npmコマンドを使用してファイルを実行する必要があります
node filename
出力を確認します。
私が知りたいのは、.tsファイルをコンパイルし、ファイルを実行している間にファイルに加えた変更を確認するnpmコマンドがありますか?
node filename
コマンド
--watch
引数を使用して、tsc
コマンド(TypeScriptコンパイラ)を起動できます。
ここにアイデアがあります:
tsconfig.json
ファイルを使用してTypeScriptを構成するtsc --watch
を実行します。したがって、.ts
ファイルを変更するたびに、tsc
がコンパイルして出力を生成します(出力を./dist
フォルダーに配置するように設定したとします) )nodemon
を使用して、./dist
内のファイルが変更されたかどうか、およびサーバーを再起動する必要がある場合に監視します。これを行うのに役立ついくつかのスクリプト(package.json
に入れる)があります(次のモジュールnpm install --save TypeScript nodemon npm-run-all rimraf
をインストールする必要があります)
"scripts": {
"clean": "rimraf dist",
"start": "npm-run-all clean --parallel watch:build watch:server --print-label",
"watch:build": "tsc --watch",
"watch:server": "nodemon './dist/index.js' --watch './dist'"
}
次に、ターミナルでnpm start
を実行するだけです
これは、@ ThomasThiebaudによって提案されたソリューションに基づいています。 nodemonがサーバーを起動しようとする前に、ファイルをdist/
でビルドするために少し変更する必要がありました。
"scripts": {
"clean": "rimraf dist",
"build": "tsc",
"watch:build": "tsc --watch",
"watch:server": "nodemon './dist/index.js' --watch './dist'",
"start": "npm-run-all clean build --parallel watch:build watch:server --print-label"
},
全体を開始するには、npm start
を実行する必要があります。
ここに私のアプローチがあります。すべてのTypeScript
ファイルをsrc
フォルダーに保持し、出力されるjavascript
ファイルを./dist
フォルダーに生成するとします。
{
"name": "yourProjectName",
"version": "1.0.0",
"description": "",
"main": "./dist/index",
"types": "./dist/index",
"scripts": {
"dev": "tsc --watch & nodemon dist"
},
"author": "Gh111",
"license": "ISC",
"devDependencies": {
"yourdevDependencies": "^1.0.0"
}
}
およびTypeScript構成ファイルtsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"outDir": "./dist",
},
"include": ["./src/**/*"],
"exclude": [
"node_modules"
]
}
さて、ここで何が起こっているのか
まず、tsconfig.json
を作成し、コンパイル済みファイルを./dist
フォルダーに入れるようにTypeScriptに指示すると同時に、node_module
フォルダーまたは必要なものをすべて除外して、["./src/**/*"]
ディレクトリ。
その後、packages.json
ファイルで、コンパイルされたindex.js
ファイルへのパスを指定する必要があります
「メイン」:「./dist/index」
そして最後にtsc
に--watch
にTypeScript
の変更を指示し、nodemon
に./dist
ディレクトリ内を監視し、何かが変更された場合はnodemon
はサーバーを再起動します。
"scripts": {
"dev": "tsc --watch & nodemon dist"
},
スクリプトを実行するには、npm run dev
と入力します