Webpack - 如何在运行时包含简单的配置文件?

Tho*_*erg 5 webpack angular

我是 webpack 的新手。对于我的项目,我有一个 config.js 文件。这个文件基本上就像你在 .net 中的 web.config。只是一个简单的配置文件,用于设置一些特定于环境的设置。我希望能够在部署时为每个环境添加一个新的配置文件。我遇到的问题是我并不总是知道配置设置是什么,比如说两周后,所以在实际的 webpack 配置中设置配置设置不是一个选项。

我将 config.js 添加到 webpack 配置,它会添加一个哈希和映射到配置文件。这使得很难轻松放入单独的配置文件。我们希望能够捆绑项目并将工件部署到不同的环境中,而无需重新编译和捆绑

有没有办法只包含一个配置文件而无需散列、捆绑和映射?任何帮助深表感谢!

这是我当前的配置文件:

var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var helpers = require('./helpers');

module.exports = {
  entry: {
    'polyfills': './src/polyfills.ts',
    'vendor': './src/vendor.ts',
    'app': './src/main.ts',
    'config': './config/config.js'
  },

  resolve: {
    extensions: ['', '.js', '.ts']
  },

  module: {
    loaders: [
      {
        test: /\.ts$/,
        loaders: ['awesome-typescript-loader', 'angular2-template-loader']
      },
      {
        test: /\.html$/,
        loader: 'html'
      },
      {
        test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
        loader: 'file?name=assets/[name].[hash].[ext]'
      },
      {
        test: /\.css$/,
        exclude: helpers.root('src', 'app'),
        loader: ExtractTextPlugin.extract('style', 'css?sourceMap')
      },
      {
        test: /\.css$/,
        include: helpers.root('src', 'app'),
        loader: 'raw'
      }
    ]
  },

  plugins: [
    new webpack.optimize.CommonsChunkPlugin({
      name: ['app', 'vendor', 'polyfills']
    }),

    new HtmlWebpackPlugin({
      template: 'src/index.html'
    }),
  ]
};
Run Code Online (Sandbox Code Playgroud)

Mar*_*rko 0

我想实现这一点的唯一方法是在应用程序启动时获取配置。