我是 Node.js 的新手,在尝试一些基本代码时,我遇到了一个需要帮助的问题。 我有一个模块 example2.js,它读取文件的内容,我想导出一个变量,该变量将包含行文件的所有内容,我试图从 testExport.js 访问该变量
这是文件内容。
example2.js
var fs = require('fs')
var stream = fs.createReadStream('S1.dat', {flags: 'r', encoding: 'utf-8'});
var buf = "";
module.exports.buffer = buf ;
exports.readFile = function f() {
stream.on('data', function(d) {
module.exports.buffer+=d.toString();
console.log( "Inside function " + module.exports.buffer );
});
};
测试导出.js
var e2 = require ('./example2.js');
e2.readFile();
console.log ("From external file" + e2.buffer);
我应该如何导出它,以便缓冲区在 testExport.js 中具有正确的值?
最佳答案
您只需使用 fs.readFileSync()
即可加载文件一次:
var fs = require('fs')
exports.buffer = fs.readFileSync('S1.dat', { encoding: 'utf8' });
关于javascript - 如何导出在 Node.js 的回调函数中更新的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24475360/