从另一个脚本运行Node Package + Arguments

时间:2015-08-07 12:17:46

标签: node.js browserify

我发现自己处于一种我必须运行单个命令的情况,例如: 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

执行时,这非常有效

由于

2 个答案:

答案 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 apijadeify一起使用,以获得所需内容。

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

运行它