【发布时间】:2016-09-27 13:52:28
【问题描述】:
当我在 Node 中需要一个普通的 JavaScript 文件时,一切正常:
var test = require('test.js');
console.log(test.foo); // prints the function
但现在我已经压缩了 test.js 文件,将其读取为 string 有效:
var fs = require('fs');
var zlib = require('zlib');
var gunzip = zlib.createGunzip();
var buffer = [];
fs.createReadStream('test.js.gz').pipe(gunzip);
gunzip.on('data', function(data){
buffer.push(data.toString())
});
gunzip.on('finish', function(){
console.log(buffer.join("")); //prints the JS file as string
}).on("error", function(e) {
console.log(e);
});
但是,我不想要string。使用eval 似乎不对。
如何将string 评估为类似于我使用 require('test.js'); (我不能使用外部库)
【问题讨论】: