2017-06-21 51 views
1

我有一个环境的具体config.js文件看起来像这样:如何从配置文件加载/写入环境特定的细节到webpack生成的budle 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 config.js的一切( v-1)生成的bundle.js文件。我只想将特定于环境的细节写入bundle.js文件,不想公开bundle.js文件中的所有环境细节。

我该怎么做?

+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); 
} 
+0

我需要一个webpack加载器或者一些能够帮助我加载环境特定配置文件的东西。上面的答案不会帮助我。 –

+0

不太确定你想要达到什么效果。要加载特定于环境的**属性**('apiHost'和'apiPort')或加载一堆特定于环境的配置**文件**? –

相关问题