我想尝试使用npm为Web应用程序运行各种构建任务。我知道我可以通过向fgrep
添加scripts
字段来实现此目的,如下所示:
package.json
当你有更多复杂的命令和一堆选项时,这会变得笨拙。是否可以将这些命令移动到bash脚本或其他内容?类似的东西:
"scripts": {
"build": "some build command"
},
其中"scripts": {
"build": "build.sh"
},
将执行npm run build
文件中的命令?
阅读this帖子似乎是这样,但我不清楚我应该放弃build.sh
文件的确切位置,或者我是否遗漏了某些内容。
答案 0 :(得分:63)
完全可能......
"scripts": {
"build": "./build.sh"
},
另外,请确保在bash文件的顶部添加哈希爆炸#!/usr/bin/env bash
还要确保您有权执行文件
chmod +x ./build.sh
最后,在npm中运行build的命令将是
npm run build
答案 1 :(得分:5)
如果您不想为授予权限而烦恼,并且您执行脚本的环境具有例如 sh,您可以这样做
"scripts": {
"build": "sh ./build.sh"
}
答案 2 :(得分:2)
更简单:
我通常会一次性这样做,并且PoC不涉及VCS
package.json{
"scripts": {
"ship": "rsync -avz deployable/* <some-server>:/var/www/some-site/sub-dir/"
},
}
...