2017-01-25 24 views
3

まあ私はちょうどtypescriptコードをコンパイルし、出力を得るコマンドがあることを知りたがっています。今、私がやっているものを、それをnpmコマンドを使用してtypescriptをコンパイルするには?

NPMをコンパイルする私は、ファイルに変更を加えるとき、私は再順序どおりコマンドを実行する必要が毎回これは、ブラウザを起動し、私

を開始しますCtrl + Cを使用して実行を停止する必要があり、その後、私は、ファイルを実行する必要がNPMコマンドを使用して

ノード名

出力を確認します。

だから私が知りたい、.TSファイルをコンパイルし、私は

ノード名を使用してファイルを実行している間、私は、ファイルに加えた変更を確認できます任意のNPMコマンドがあります

コマンド

+0

あなたはタスクランナーについて読んだり、 'package.json'の' npm start'に 'tsc app.ts'を追加してください –

答えて

11

あなたは--watch引数でtscコマンド(typescriptですコンパイラ)を起動することができます。あなたはtypescriptですが構成されたとしましょう(ファイル名を指定して実行tsc --watch、あなたが.tsファイルを変更するので、毎回、tscはそれをコンパイルし、出力を生成しますtsconfig.jsonファイル

  • を使用して

    • 設定のtypescriptです:ここで

      はアイデアです./distフォルダに出力してください)

    • のファイルが変更されているかどうか、またサーバを再起動する必要がある場合は、nodemonを使用してください。ここで

  • はあなただけで npm startを実行する必要が続いて

    "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 install --save typescript nodemon npm-run-all rimrafをインストールする必要があります)あなたがそれを行うために助けることができる(package.jsonに置くために)いくつかのスクリプトです端末

    +1

    これは' nodemon'がサーバーを ' watch:build'タスクが終了しました。 nodemonから「モジュールが見つからない.../dist/index.js'」というエラーが表示されます。 – demisx

    2

    これは@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を実行する必要があります。