バッシュ拡張はどうですか? (あなたは、Linux/MacOSの/ cygwinの上にあるなど)
あなたはバッシュ互換シェルを使用するように余裕があれば、あなたのシェルのブレース展開機能を使用することができます。
npm i -S {,@types/}express
と同等です:
npm i -S express @types/express
これの問題は、しかし、それのためのパッケージとタイピングの両方がdependencies
、package.json
でないdevDependencies
として保存されるということです。同時にいくつかのパッケージ(とそれらのタイプ)をインストールしたいかもしれません。それでは、そのためのアカウントへの私たちのコマンドを改善しましょう:
echo express lodash | xargs -n 1 -I % sh -c 'npm i -S %; npm i -D @types/%'
これはexpress
とlodash
の両方をインストールし、また彼らのために@types
ます。このコマンドは@types
パッケージを正しくdevDependencies
に配置します。
これをさらに改善することができます。今は、すべてのパッケージに対して別々のnpm
が実行され、@types
が実行されるためです。我々が行うことができます他に何を見てみましょう:
P='express lodash' eval 'npm i -S $P; npm i -D `echo $P | sed -E "s/[a-z0-9]+/@types\/&/g"`'
これは予想通りnpm i
2回、実行されます:これは最も機能完全な方法である
npm i -S express lodash
npm i -D @types/express @types/lodash
をそれを行うには、しかし、ほとんどの場合、重すぎるかもしれません。
希望すると便利です。
任意の種類の反復作業を自動化することができます。あなた自身をスクリプトにしてください。 – Rafael
うわー私はすでにこれを達成する方法がある場合、私は車輪を再発明するために時間を費やす必要はないことも知りません。どのようにdownvoteの価値があるのですか? –
はdown-voteにはコメントできませんが、 'package.json'で依存関係を宣言するのは助けになりませんか? – Searching