如何创建自定义命令来替换“gulp”或“npm 运行”?
How do I create a custom command to replace `gulp` or `npm run`?
如何为 NPM 项目编写自己的终端命令,从而在不依赖 npm run
的情况下取代 gulp
命令?
我的项目包含以下 Gulp and 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" |
编辑
"Can I add a debug script to NPM?" 与我的要求 不 相同。我已经在我的 package.json
文件中定义了脚本,这就是我使用当前命令的方式。我想要的是编写我自己的项目 commands/scripts 来完成与我列出的相同的事情,而不必键入 npm run
.
例子
- 我目前有
npm run boom
命令
- 它有什么作用?
- 运行
gulp
命令
- 我希望在项目中使用什么命令来代替它做同样的事情?
boom
命令
我通常使用 commander 编写一个小型 CLI,然后将 bin
条目添加到指向 CLI 文件的 package.json
中。
{
...
"author": "",
"license": "ISC",
"bin":{
"boom": "boom-cli.js"
...
}
然后 运行 从项目的根目录 npm install -g
或 npm link -g
。
如果我没记错的话,npm link -g
在你的包和保存全局安装的 npm 包的任何地方之间创建了一个符号链接,这对我来说更可取,因为我喜欢经常更改东西。
This 是关于该主题的良好资源。
运行 npm install
只是没帮到我。需要 运行 npm link
帮助我 运行 CLI 命令。
其中 npm link
在输出中创建如下别名:
例子 :
$LOCAL_DIR\cli-command -> $LOCAL_DIR\npm\node_modules$PROJECT\dist\index.js
...
如何为 NPM 项目编写自己的终端命令,从而在不依赖 npm run
的情况下取代 gulp
命令?
我的项目包含以下 Gulp and 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" |
编辑
"Can I add a debug script to NPM?" 与我的要求 不 相同。我已经在我的 package.json
文件中定义了脚本,这就是我使用当前命令的方式。我想要的是编写我自己的项目 commands/scripts 来完成与我列出的相同的事情,而不必键入 npm run
.
例子
- 我目前有
npm run boom
命令
- 它有什么作用?
- 运行
gulp
命令
- 运行
- 我希望在项目中使用什么命令来代替它做同样的事情?
boom
命令
我通常使用 commander 编写一个小型 CLI,然后将 bin
条目添加到指向 CLI 文件的 package.json
中。
{
...
"author": "",
"license": "ISC",
"bin":{
"boom": "boom-cli.js"
...
}
然后 运行 从项目的根目录 npm install -g
或 npm link -g
。
如果我没记错的话,npm link -g
在你的包和保存全局安装的 npm 包的任何地方之间创建了一个符号链接,这对我来说更可取,因为我喜欢经常更改东西。
This 是关于该主题的良好资源。
运行 npm install
只是没帮到我。需要 运行 npm link
帮助我 运行 CLI 命令。
其中 npm link
在输出中创建如下别名:
例子 :
$LOCAL_DIR\cli-command -> $LOCAL_DIR\npm\node_modules$PROJECT\dist\index.js
...