使用browserify进行预处理?

时间:2016-12-02 09:24:09

标签: javascript gulp browserify bundling-and-minification

如何使用browserify预处理函数调用?

在大型js文件中,我需要将JSON对象传递给变量,但是这个JSON对象只能通过函数调用来创建:

var myvar = Ractive.parse('mytemplate.html');

如果我像这样写这个函数调用,这行代码就会出现在bundle.js文件中。我只想要这样的东西:

var myvar = THIS_WILL_RUN_WHILE_BROWSERIFYING(Ractive.parse('mytemplate.html'));

所以在bundle.js我希望看到类似的内容:

var myvar = [{myobj:4},{x:1,y:2}];

如何使用browserify(使用Gulp)实现这一目标?

1 个答案:

答案 0 :(得分:3)

Browserify允许您创建自定义转换,有一个很好的示例,说明如何在以下链接创建转换。

https://github.com/substack/browserify-handbook#transforms

使用process.cwd()替换var through = require('through2'); module.exports = function (file) { return through(function (buf, enc, next) { this.push(buf.toString('utf8').replace(/\$CWD/g, process.cwd())); next(); }); }; 的示例似乎是OP创建所需转换的良好起点。

如果潜在的未来死链接,这是一个例子。

MedicineID  Type    PlantId category
1223456     ABC      P1          A
7821632     DEF      P2          B
5436710     GHI      P1          D
6743210     ABC      P3          A
4321793     THE      P4          D
7285743     ABC      P1          B
4143521     DEF      P3          A
5234345     GHI      P2          D
5132451     FGE      P1          B
1235432     REF      P4          A
5652315     GHI      P3          D
6733115     ABC      P2          B
7752242     DEF      P3          A
2652225     GHI      P2          D
6242352     ABC      P1          B