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

时间:2016-09-19 13:09:11

标签: angular webpack

我是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'
    }),
  ]
};

1 个答案:

答案 0 :(得分:0)

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