删除导入中嵌套的额外模块

Remove extra module nesting in import

如何在访问 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;

config/db.js:

import config from './env';

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

问题是您正在使用 require,其中 returns 一个带有 default 属性 的 模块对象。相反,当您 require:

时显式访问 default 属性
const config = require(`./${env}.js`).default;

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