Webアプリケーションのさまざまなビルドタスクを実行するためにnpmを試してみたいと思います。私はそうのように私のpackage.json
にscripts
フィールドを追加することによってこれを行うことができます知っている:あなたはオプションの束と、より複雑なコマンドを持っているときnpmを使ってbashスクリプトを実行する
"scripts": {
"build": "some build command"
},
は、これが手に負えなくなります。これらのコマンドをbashスクリプトなどの行に沿って移動することは可能ですか?以下のような何か:
npm run build
は
build.sh
ファイル内のコマンドを実行します
"scripts": {
"build": "build.sh"
},
?
投稿はthis投稿されているようですが、正確には私のbuild.sh
ファイルを削除するはずです。
これを行わないでください。ノードはどこでも動作します。 Bashはそうではありません。 bashで何をしているのかはノード**で**できますし、CLIの呼び出しもパッケージの依存関係を使って行うことができます。 'rm'が必要ですか? rimrafをインストールし、[npmスクリプト](http://www.slideshare.net/k88hudson/advanced-frontend-automation-with-npm-scripts)で使用してください。 'mkdir -p'? 'mkdirp'をインストールし、それをnpmスクリプトで使用してください。あなたは*プラットフォームに依存しない汎用のスクリプト言語*を持っています。コマンドラインが複雑すぎるのですか? 'grunt'や' gulp'のようなタスクランナーを使用してください。それを普遍的に保つ。 –
「パッケージの依存関係を使用してCLIの呼び出しを行うことができる」と言えば、[this](http://blog.npmjs.org/post/118810260230/building-a-simple-command-line-tool -with-npm)? –
閉じるが、いいえ、リンク先のスライドを読んでください。 'grunt'や' gulp'や 'mkdirp'などのCLIツールが付属しているノードモジュールをインストールして、グローバルにインストールする必要がなく、グローバルにインストールされているかのように呼び出す* npmスクリプトの '' build ''のように: "mkdirp build && lessスタイル/ index.less> static/css/style.css && webpack" '。あなたが起動したコマンドがnpmで管理されている(つまり、package.json依存関係のリストにある)限り、これはうまく動作します。 「これは1つのOSでのみ動作する」コマンドでは、同じことを普遍的に行うノードモジュールを使用します。 –