2017-08-16 4 views
1

package.jsonスクリプトを次のように変更しました(this postthis oneで提案)。それは動作し、期待されることを行います。ファイルを最後のステップとして順次コピーする2つのNPMコマンドを実行する方法は?

... 
"deploy": "ng build && echo Do not forget to copy web.config!", ... 

次に、エコーを実際にこのようなファイルにコピーしようとしました。

... 
"deploy": "ng build && copy ./src/web.config ./dist", ... 

ただし、これは以下のエラーで失敗します。

「コピー」は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。

私はこの作業をグルンティングまたはGulpingで解決できることを知っていますが、それを簡単に保ち、可能かどうかを確認したいと思います。それは...ですか?

パスをアポストロフィで囲み、コピーコマンドをスクリプトの1つのコマンドとして実行しようとしました。運がない。

+0

それがどのように失敗するのですか?何かエラーがありますか? – n00dl3

+0

@ n00dl3申し訳ありません。私は古いバージョンの質問に貼り付けました。現在のものをご覧ください。あなたの質問について - エラーには、そのようなコマンドは、多かれ少なかれないと言われています。 –

答えて

2

copyは有効なbashコマンドではありません。代わりにcpを使用してください。

このファイルをコピーするnodejsスクリプトを書くことができます。

copy.js

var fs = require('fs'); 
fs.createReadStream('./src/web.config') 
    .pipe(fs.createWriteStream('./dist/web.config')); 

... 
"deploy": "ng build && node run ./copy.js . 

私はそれがM $-DOS COPYを使用して実行しました。また、Copy-Itemを使用してPowerShellを使用して動作します。

エスケープする必要があるM $でバックスラッシュを使用する必要があることを忘れないでください。

"deploy": "COPY .\\a\\test .\\b\\test"
または
"deploy": "Copy-Item .\\a\\test .\\b\\test"

関連する問題