Javascript 如何更改另一个js文件中的值
我有这样一个constants.js文件:Javascript 如何更改另一个js文件中的值,javascript,node.js,express,Javascript,Node.js,Express,我有这样一个constants.js文件: var keyvalues = { "var1": 0.08, "var2": 0.08, "var3": 0.07, "var4": 0.065 } app.post('/updateValue', (req, res)=>{ let a = constants.keyvalues const existingKey
var keyvalues = {
"var1": 0.08,
"var2": 0.08,
"var3": 0.07,
"var4": 0.065
}
app.post('/updateValue', (req, res)=>{
let a = constants.keyvalues
const existingKey = req.body.key;
const newValue = req.body.newvalue;
constants.keyvalues[existingKey] = newValue; =======> (1)
})
我想更改另一个js文件的值
我的app.js文件如下:
var keyvalues = {
"var1": 0.08,
"var2": 0.08,
"var3": 0.07,
"var4": 0.065
}
app.post('/updateValue', (req, res)=>{
let a = constants.keyvalues
const existingKey = req.body.key;
const newValue = req.body.newvalue;
constants.keyvalues[existingKey] = newValue; =======> (1)
})
(1) :在这一行中,我想更新constant.js文件中的值
我的app.js文件将在生产阶段发布。我想使用此端点物理地更新一些值
从app.js文件更改constants.js文件值的正确方法是什么?您必须导出对象 如果您使用ES5,请使用
let keyValues = {...};
module.exports = {keyValues}
ES6同等标准:
let keyValues = {...};
export {keyValues};
import {keyValues} from 'path/to/constants';
console.log(keyValues)
keyValues[key] = value
在要访问对象的文件中,使用以下命令
const {keyValues} = require("path/to/constants");
console.log(keyValues)
keyValues[key] = value
ES6同等标准:
let keyValues = {...};
export {keyValues};
import {keyValues} from 'path/to/constants';
console.log(keyValues)
keyValues[key] = value
如果它们可以改变,它们就不是常数了,是吗?它们是否需要在重新启动服务时保持不变?如果是这样,您需要将这些值写入某个位置(文件、数据库等),并在启动时重新加载它们。这是否回答了您的问题@艾哈迈德·加费尔(ahmed gaafer)和我删除的答案一样。我没有注意到问题上的node.js标记,所以你的链接和我的答案不一样。他需要做模块导出的工作,比如下面的崩溃回答。仅仅更改内存中变量的值实际上不会更改javascript程序中硬编码的该变量的值,因此,更改不会在程序重新启动时持续。您需要从配置文件中读取这些值,并在其中保存所有更改。