节点:从另一个js文件导入对象数组?
在一个名为data.js的文件中,我有一个大对象数组:
var arr = [ {prop1: value, prop2: value},...]
我想使用这个数组到我的Node.js应用程序,但代码像
require('./data.js')
没有帮助。 我知道如何导出函数 ,但是当涉及到“导入” 数组时,我已经迷失了方向。 如何将data.js文件添加到我的app.js?
局部variables(var whatever)不会被导出并且是本地的。 你可以在exports对象上定义你的数组,以便导入它。 如果你的数组只包含简单的对象,你也可以创build一个.json文件。
data.js:
module.exports = ['foo','bar',3];
import.js
console.log(require('./data')); //output: [ 'foo', 'bar', 3 ]
[编辑]
如果你需要一个模块(第一次),它的代码被执行,并且导出对象被返回并被caching。 对于require()
所有进一步调用,只返回caching的上下文。
您仍然可以从模块代码中修改对象。 考虑这个模块:
module.exports.arr = []; module.exports.push2arr = function(val){module.exports.arr.push(val);};
和调用代码:
var mod = require("./mymodule"); mod.push2arr(2); mod.push2arr(3); console.log(mod.arr); //output: [2,3]
我知道如何导出函数,
通过修改module.exports
或exports
,一个数组或者真正的任何值都可以像function
一样被导出:
var arr = [ {prop1: value, prop2: value},...]; exports.arr = arr;
var arr = require('./data').arr;
您可以直接从NODEJS中的任何文件获取JSON或JSON数组,无需从JS脚本中导出它
[ { prop1: value, prop2: value }, { prop1: val, prop2: val2 }, ... ]
将它存储到一个JSON文件假设test.json
现在,您可以将其导出为如下所示,非常简单。
let data = require('./test.json');