【发布时间】:2018-10-15 19:09:12
【问题描述】:
我如何为 NPM 项目编写自己的终端命令,从而在不依赖 npm run 的情况下替换 gulp 命令?
我的项目包含以下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" |
编辑
"Can I add a debug script to NPM?" 与我所问的不相同。我已经在 package.json 文件中定义了脚本,这就是我最终使用当前命令的方式。我想要的是编写我自己的项目命令/脚本,这些命令/脚本与我列出的内容相同,而无需输入npm run。
例子
-
我目前拥有
-
npm run boom命令
-
-
它有什么作用?
- 运行
gulp命令
- 运行
-
我希望在项目中使用什么命令,而不是做同样的事情?
-
boom命令
-
【问题讨论】:
-
我不确定是否在 npm 中执行此操作,但根据您的操作系统,您可以添加自定义命令以通过命令提示符/终端运行。
-
@ItsGreg - 我可以为其创建别名,这将应用于我的命令提示符,但我希望这些命令能够在本地为决定使用该项目的任何人工作。
-
没有“简单”的方法来做到这一点。你必须创建一个 npm 包并将你的命令放在它下面,然后像任何其他包一样安装它。 This link give details 正在接近。
标签: node.js npm gulp gulp-sass package.json