gpt4 book ai didi

javascript - require() 在运行时但只运行一次。可以吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:48:07 24 4
gpt4 key购买 nike

我的目录中有许多配置,它们响应不同的任务。但在某些情况下,我需要从另一个文件获取配置。示例:

文件1:

module.exports = Object.freeze({
uid: 'uid',
name: 'name',
admin: 'admin',
balance: 'balance',
state: 'state',
bet: 'bet',
size: 'size',
chance: 'chance',
language: 'language'
})

文件2:

module.exports = Object.freeze({
url: 'mongodb://localhost:27017/',
table: 'casino-db',
row: 'users',
user: require('/api/user/config')
})

还好吗?我听说 require() 的动态调用很糟糕,因为它以另一种方式工作,而不是从文件开头调用它。

有人使用该配置结构吗?

最佳答案

后续的 require 调用会缓存在 require.cache 对象下。你正在做的事情是可以的,因为你只是导出一个对象。所以在多次要求后它不会被重新计算。

如果你担心的话,可以这样做:

const user = require('/api/user/config')
module.exports = Object.freeze({
url: 'mongodb://localhost:27017/',
table: 'casino-db',
row: 'users',
user
})

关于javascript - require() 在运行时但只运行一次。可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53900202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com