Arrays 节点:是否保留对导入数组的更改?
在data.js中,我有一个大对象数组和两个函数:Arrays 节点:是否保留对导入数组的更改?,arrays,node.js,express,Arrays,Node.js,Express,在data.js中,我有一个大对象数组和两个函数: var arr = [ {prop1: value, prop2: value},...] function push (value) { arr.push(value); } function pop () { arr.pop() } module.exports.data = arr; module.exports.push = push; module.exports.pop = pop; 要在我的app.js中加
var arr = [ {prop1: value, prop2: value},...]
function push (value) {
arr.push(value);
}
function pop () {
arr.pop()
}
module.exports.data = arr;
module.exports.push = push;
module.exports.pop = pop;
要在我的app.js中加载数组和函数并测试它们,我使用:
var mod = require('./data');
console.log(mod.arr.length); // outputs length prior to modification
arr.push(1);
console.log(mod.arr.length); // outputs length + 1
在服务器运行时这一切都很好,但是更改永远不会持久化到data.js数组。我是否必须读/写文件,或者是否有一种简单的方法可以修改导入的数组并保存更改?有几种常用的方法来保存数据: 1) 使用文件 2) 使用redis
3) 使用数据库(Mongodb或其他)我更喜欢在js文件中使用简单的js数组。我一直使用fs.methods作为解决方法,但它们使用纯文本字符串,而不是js数组。难道没有更简单的方法吗?请看其他主题,这样我将不得不使用fs模块以纯文本形式编写:)