为了账号安全,请及时绑定邮箱和手机立即绑定

替换 node.js 自定义模块中的特定代码

替换 node.js 自定义模块中的特定代码

翻翻过去那场雪 2022-06-16 14:49:06
假设我有一个名为“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个赞

答案是不。

一旦您需要一个文件,除非您修改并重新运行您的应用程序,否则它将具有相同的值。通常,每个模块都有自己的隔离范围。如果第一个模块返回一个字符串并且没有提供更改它的方法,则它只是一个只读值。只有重新要求不会改变任何事情。

干杯,


查看完整回答
反对 回复 2022-06-16
?
拉风的咖菲猫

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)


查看完整回答
反对 回复 2022-06-16
  • 2 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号