是否可以更新已导出的模块的值。
例如:- Colors.js
module.exports = {
main: {
primaryColor: 'red',
},
buttons: {
backGround: 'blue',
},
}在我的应用程序中,有几个地方使用了primaryColor和backGround (带样式的按钮,scss)。基于某些事件,我希望全局更改primaryColor和backGround,以便将其应用于所有使用它的组件。有没有办法做到这一点。
发布于 2021-02-09 13:30:27
这要视情况而定,但通常是这样的。每次导入模块时,每个导入它的地方都会获得相同的single对象。这是由于模块缓存系统造成的。实际上,这使得所有模块都是单例的。
因此,每次修改任何文件中的值时,所有文件都将获得修改后的值。例如,如果您这样做:
colors.main.primaryColor = 'yellow';它将在任何地方更改此值。
但是,这个新值是否会在css/scss中更新取决于您如何设置代码来编译sass。如果我们讨论的是javascript,那么是的,这些值是实时的,并且会得到更新。但对于生成的文件,如html、css、json、pdf、xml等,则取决于生成这些文件的时间。
https://stackoverflow.com/questions/66111027
复制相似问题