如何创build自定义命令来replace`gulp`或`npm run`?
我怎样才能编写我自己的terminal命令的NPM项目,这将取代gulp
命令而不依赖npm run
?
我的项目包含以下Gulp和http-server自定义命令…
## COMMANDS I CURRENTLY HAVE | Command | Task | |-----------------------|-----------------------------| | npm run boom | "Builds then watches files" | | npm run boom -- build | "Builds the assets files" | | npm run launch | "Starts a local server" |
这是因为其package.json
文件中的scripts
…
/// package.json { "scripts": { "boom": "gulp", "launch": "http-server -o" }, "devDependencies": { "gulp": "^3.9.0", "gulp-sass": "^2.1.0", "http-server": "^0.8.5" } }
这是我实际上喜欢我的自定义命令是…
## COMMANDS I WANT TO HAVE | Command | Task | |-------------|-----------------------------| | boom | "Builds then watches files" | | boom build | "Builds the assets files" | | boom launch | "Starts a local server" |
编辑
“ 我可以添加一个debugging脚本到NPM? ”和我所问的不一样。 我已经在我的package.json
文件中定义了脚本,这就是我如何结束当前的命令。 我想要的是编写自己的项目命令/脚本,与我列出的相同,而不必键入npm run
。
例
- 我目前有
-
npm run boom
命令
-
- 它有什么作用?
- 运行
gulp
命令
- 运行
- 我想在项目中使用什么命令而不是同样的事情?
-
boom
命令
-
我通常通过使用commander编写一个小的CLI,然后在指向CLI文件的package.json
添加一个bin
条目来完成此操作。
{ ... "author": "", "license": "ISC", "bin":{ "boom": "boom-cli.js" ... }
然后从项目的根目录运行npm install -g
或npm link -g
。
如果我没有npm link -g
话, npm link -g
会在你的软件包和全球安装的npm软件包之间build立一个符号链接,因为我喜欢频繁地改变它,所以对我来说更好。
这是一个很好的主题资源。