我正在嘗試使用Brunch創建一個使用Brunch創建應用程序的CLI工具(在Node中,位於NPM上)。如何在不安裝它的情況下使用npm包二進制文件
所以基本上,預期的行爲是用戶將鍵入此安裝我的工具:
npm install -g my-cli-tool
,然後到名爲myApp
子目錄中創建一個新的早午餐的項目,他們將運行此在他們的終端:
my-cli-tool myApp
Brunch將處理創建應用程序本身的大部分工作。
僅供參考,您可以通過全局安裝Brunch(npm install -g brunch
)然後只需輸入brunch new myApp
來創建Brunch項目。
我已經設置了製作一個公開二進制文件的NPM包所需的東西,所以我只是將它縮減爲我的一個腳本。
我迄今爲止嘗試如下:
#! /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工具時,brunch也會被安裝。 –