假设我有一个名为“pink.js”的模块。该模块内部是以下代码:var color = 'red+white'module.exports = color现在在另一个文件中,假设我们执行以下操作:const pink = require('./pink')console.log(pink) //Logs 'red+white'然后假设我们想通过重新请求文件来更改colorpink.js 中的值'red+blue',然后重新请求它。const pink = require('./pink')console.log(pink) //Logs 'red+white'//Code to replace the value of color in pink.js to 'red+blue'//Re-requiring:const pink2 = require('./pink')console.log(pink2) //Logs 'red+blue'我该怎么做呢?如果可能的话,我可以对实际模块执行此操作require.js吗?一个如何使用它的示例:仅使用代码在本地修补模块中的简单问题。梅比自动化这个过程。
2 回答

倚天杖
TA贡献1828条经验 获得超3个赞
答案是不。
一旦您需要一个文件,除非您修改并重新运行您的应用程序,否则它将具有相同的值。通常,每个模块都有自己的隔离范围。如果第一个模块返回一个字符串并且没有提供更改它的方法,则它只是一个只读值。只有重新要求不会改变任何事情。
干杯,

拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
可能是这样的:
// Main.js
var Color = (module.exports = {
value: 'red+white',
changeColor: (newColor) => (Color.color = newColor),
})
// AnotherFile.js
var color = require('./main')
color.changeColor('red+blue')
console.log(color.value)
添加回答
举报
0/150
提交
取消