gpt4 book ai didi

javascript - 在其他地方初始化 ('mymodule' 后调用 require 'mymodule' ) 是否正确?

转载 作者:行者123 更新时间:2023-11-30 14:12:25 25 4
gpt4 key购买 nike

假设我有一个模块通过使用一些配置连接到数据库。我不想传递配置或加载的模块,我只想在我的主模块(这里是 app.js)中初始化 database.js 模块,然后能够在我的代码中的其他地方使用它而无需初始化或传递配置。

我的问题是,就此 link 中所说的内容而言,这种方法是否正确?

这是例子。

//数据库.js

const mongodb

let config = null;

exports.init = (conf) {
config = conf;
}

exports.getConnection = () {
const MongoClient = mongodb.MongoClient;
return new MongoClient(config.mongodb.url);
}

//应用程序.js

const { init } = require('./database.js');

// load config ...

init(config);

//lib文件夹中的一些模块

const { getConnection } = require('../../database.js');

// do something with getConnection

最佳答案

方法是正确的。 JS模块在正常情况下只求值一次,这种情况可以用一次。

注意配置需要在database模块被其他模块使用之前初始化:

const { init } = require('./database.js');

init(config);

require('some-module-that-uses-database');

关于javascript - 在其他地方初始化 ('mymodule' 后调用 require 'mymodule' ) 是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54176885/

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