【问题标题】:Remove extra module nesting in import删除导入中的额外模块嵌套
【发布时间】:2026-02-16 03:30:02
【问题描述】:

如何在访问config.default.database.cluster 时消除对default 的需求?

config/env/development.js:

const config = {
    database: {
        cluster: '...',
        password: '',
        bucket: '...'
    }
}

export default config;

config/env/index.js:

const env = process.env.NODE_ENV || 'development';
const config = require(`./${env}.js`);

export default config;

配置/db.js:

import config from './env';

const cluster = new couchbase.Cluster(config.default.database.cluster);

【问题讨论】:

    标签: node.js ecmascript-6 es6-modules


    【解决方案1】:

    问题在于您使用的是require,它返回一个带有default 属性的模块对象。相反,当您 require 时显式访问 default 属性:

    const config = require(`./${env}.js`).default;
    

    这会将development.js 的默认导出保存到config,因此当您导出config 时,默认导出已经导出。这将在访问时摆脱default

    【讨论】: