我有一些配置键,如下所示:
/config
/db
/dev.js
/index.js
/prod.js
我像这样导入 key :
import dbConfig from './config/db'
但是在
index.js
,我使用 CommonJS 语法有条件地导出模块。 ES6可以做到吗?如果是,如何?module.exports = process.env.NODE_ENV === 'production'
? require('./prod')
: require('./dev');
我正在使用
webpack ^4.6.0
.用 babel-plugin-dynamic-import-webpack
试试我的运气但它没有用。我可能不知道我可以使用的一些最佳实践或插件,所以我很感激你的想法。
最佳答案
我不相信你真的需要担心这个。现代构建系统中有 trim 树的算法,可以确保您最终在开发或生产中只得到一个版本。
# mockValue.js
const mockValue = 'mock';
export default mockValue;
# realValue.js
const realValue = 'real';
export default realValue;
# test.js
import mockValue from 'mockValue';
import realValue from 'realValue';
let test;
if (process.env.NODE_ENV === 'production') {
test = realValue;
} else {
test = mockValue;
}
export default test;
# index.js
import test from 'test';
console.log(test);
在开发过程中,realValue 应该被 trim 。在生产构建期间,mockValue 应该被 trim 。为了验证这一点,您可以构建上面的测试项目并检查“mock”的输出(但您不太可能找到它)。
关于javascript - webpack & ES6 - 有条件的导入和导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49920363/