Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Import 如何将特定于环境的详细信息从配置文件加载/写入webpack生成的budle js文件?_Import_Webpack_Ecmascript 6_Require_Webpack Dev Server - Fatal编程技术网

Import 如何将特定于环境的详细信息从配置文件加载/写入webpack生成的budle js文件?

Import 如何将特定于环境的详细信息从配置文件加载/写入webpack生成的budle js文件?,import,webpack,ecmascript-6,require,webpack-dev-server,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

我有一个特定于环境的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文件中公开所有环境详细信息


我如何做到这一点?

利用Webpack的DefinePlugin:

在您的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);
}

我不想创建多个环境文件。我需要一个网页包加载器或一些可以帮助我只加载特定于环境的配置文件的东西。上面的答案对我没有帮助。我不太确定你想达到什么目的。加载特定于环境的属性(
apiHost
apiPort
)或加载一组特定于环境的配置文件?