我发现自己处于一种我必须运行单个命令的情况,例如: node compile.js
.js文件需要运行以下
browserify -t jadeify client/app.js -o bundle.js
安装了所有依赖项,通过在CLI中运行此命令可以正常工作,只需要弄清楚如何在节点脚本中执行它。
我们还在package.json中包含了以下内容,其中包含与
类似的内容 "script" : [ "compile": "browserify -t jadeify client/app.js -o bundle.js" ]
当你通过ssh执行cd /project && npm run compile
而不是通过exec
由于
答案 0 :(得分:2)
您应该能够使用api-example并按照jadeify setup段落的建议对其进行扩展。
var browserify = require('browserify');
var fs = require('fs');
var b = browserify();
b.add('./client/app.js');
// from jadeify docs
b.transform(require("jadeify"));
// simple demo outputs to stdout, this writes to a file just like your command line example.
b.bundle().pipe(fs.createWriteStream(__dirname + '/bundle.js'));
答案 1 :(得分:1)
您可以通过process.argv访问脚本参数。
包含命令行参数的数组。第一个元素是' node',第二个元素是JavaScript文件的名称。下一个元素将是任何其他命令行参数。
然后,您可以将browserify api与jadeify一起使用,以获得所需内容。
var browserify = require('browserify')();
var fs = require('fs');
var lang = process.argv[2];
console.log('Doing something with the lang value: ', lang);
browserify.add('./client/app.js');
browserify.transform(require("jadeify"));
browserify.bundle().pipe(fs.createWriteStream(__dirname + '/bundle.js'));
使用$ node compile.js enGB