我们知道,您可以通过向package.json添加脚本哈希来使用npm run运行任意命令:
"scripts": { "build-js": "browserify browser/main.js | uglifyjs -mc > static/bundle.js" }
然后使用npm run build-js运行.
您还可以将这些命令移到单独的脚本中,例如bash脚本,如下所示:
"scripts": { "build-js": "bin/build.sh" }
由于Windows无法运行bash脚本,因此显然本身不能在Windows上运行.您可以安装bash端口等,但我希望能够使用某种本机Windows构造来执行相同的操作.
我尝试过其他一些方法,包括使用child_process.exec从标准节点脚本文件中运行任意命令:
"scripts": { "build-js": "node bin/build.js" }
但我注意到相对较大/密集型操作的child_process扼流圈,使得使用起来难以置信.
是否有特定于Windows(甚至更好,跨平台)的方式将这些package.json npm运行脚本移动到单独的文件中?最好是不需要bash的?
解决方法
从
a helpful article开始使用NPM作为构建工具,为什么不简单地使用JavaScript文件?
// scripts/favicon.js var favicons = require('favicons'); var path = require('path'); favicons({ source: path.resolve('../assets/images/logo.png'),dest: path.resolve('../dist/'),}); // package.json "scripts": { "build-favicon": "node scripts/favicon.js",},"devDependencies": { "favicons": "latest",}
使用命令npm run build-favicon在终端中运行