Brunchを使用してアプリケーションを作成するCLIツール(NPMのノードで)を作成しようとしています。インストールしないでnpmパッケージのバイナリを使用する方法
だから基本的には、予想される動作は、ユーザが自分のツールをインストールするには、次のように入力することである。
npm install -g my-cli-tool
そして、myApp
という名前のサブディレクトリ内に新しいブランチプロジェクトを作成するために、彼らはこれを実行します端末:
my-cli-tool myApp
ブランチは、アプリケーション自体を作成する作業のほとんどを処理します。
ブランチプロジェクトを作成するには、ブランチプロジェクトをグローバルにインストールして(npm install -g brunch
)、単にbrunch new myApp
と入力するだけです。
バイナリを公開するNPMパッケージを作成するために必要なものは既にセットアップ済みですので、私は1つのスクリプトに減らします。
私がこれまで試してみましたが以下の通りです:
#! /usr/bin/env node
var shell = require("shelljs");
if (!process.argv[2]) {
console.log('You need to supply a name for your app!');
console.log();
console.log('Try:');
console.log(' my-cli-tool <project-name>');
} else {
var appName = process.argv[2];
console.log('Your app is now being created...');
console.log('Installing Brunch...');
shell.exec('npm install --save brunch');
console.log('Creating app with Brunch...');
shell.exec('PATH=$(npm bin):$PATH brunch new ' + appName);
console.log('Success! Your app is done.');
}
期待どおりに動作しますが、問題は、ブランチ(npm install --save brunch
)をインストール、ですがpackage.json
ファイルと一緒に現在の作業ディレクトリ内node_modules
フォルダを作成します。 。
理想的には、myApp/
という名前のフォルダ(これはBrunch自身で行われます)の作成を除いて、現在の作業ディレクトリを変更しないことをお勧めします。本質的に、私はBrunchを使用して、Brunchをインストールしたことの痕跡を持たずにアプリケーションを生成したいと思っています。
私はnpm pack
を見ましたが、私のユースケースにどのように適用するかはわかりません。どんな助けでも感謝します、ありがとう。
brunchを 'my-cli-tool'の依存関係にするので、ユーザーがcliツールをインストールすると、ブランチもインストールされます。 –