【发布时间】:2015-04-14 04:32:04
【问题描述】:
所以我使用对象数组作为我的数据存储。每个模块都处于“使用严格”模式,因此全局变量不起作用。我尝试创建一个模块来存储我的数据并将其包含在多个模块中,但是它无法正常工作。
list.js
'use strict';
module.exports.list = [];
我将让其他文件访问它,例如,主代码,然后是一个测试文件。我需要能够从包含的每个文件列表中访问和操作数组。我得到的只是模块崩溃。
code.js
var list = require('./list.js').list;
list = [{id:1},{id:2},{id:3}];
尝试运行规范,但一切都崩溃了,删除数据存储会导致测试失败。
code_spec.js --tests
var list = require('./list.js').list;
fixtures = [{id:1},{id:2},{id:3}];
list = fixtures;
【问题讨论】:
-
我不明白为什么这两行代码会导致引擎崩溃。反正
list = [{id:1},{id:2},{id:3}];只会改变局部变量list,不会影响其他模块的list。
标签: javascript arrays node.js module scope