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

时间:2017-06-03 02:28:59

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

访问default时如何删除config.default.database.cluster的需要?

配置/ ENV / development.js:

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

export default 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);

1 个答案:

答案 0 :(得分:0)

问题是您正在使用require返回带有default属性模块对象。相反,在default

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

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