如何从配置文件加载/编写环境特定的细节到webpack生成的budle js文件?

时间:2017-06-21 10:10:00

标签: import webpack ecmascript-6 require webpack-dev-server

我有一个特定于环境的config.js文件,如下所示:

module.exports = {
    local: {
        apiHost: 'http://localhost',
        apiPort: '3003',
    },
    development: {
        apiHost: 'http://192.168.1.49',
        apiPort: '3003',
    },
    testing: {
        apiHost: 'http://192.168.1.50',
        apiPort: '3003',
    }
}

要使用此文件,我写道: -

const config = require('./config.js')[env];

在我的webpack(v-1)生成的bundle.js文件中加载config.js的所有内容。我只希望在bundle.js文件中写入特定于环境的详细信息,不要在bundle.js文件中公开所有环境细节。

我该怎么做?

1 个答案:

答案 0 :(得分:-1)

利用Webpack的DefinePlugin:https://webpack.js.org/plugins/define-plugin/

在你的webpack.config.js

const webpack = require('webpack');
const envConfig = require('/path/to/config.js');

plugins: [
  new webpack.DefinePlugin({
    ENV_CONFIG: envConfig[your_env] 
  });
]

在您的申请中

if(ENV_CONFIG) {
  console.log('Your environment details:', ENV_CONFIG);
}