Webpack只有一个入口点?

时间:2016-11-26 13:47:28

标签: webpack

我的webpack.config.js有两个入口点,到目前为止它在构建两个单独的文件方面做得很好。有没有办法让我运行webpack命令并让它只构建其中一个入口点而不是两者?例如,如果我只对第二个入口点的文件进行更改,我也不希望等待第一个入口点也是如此。这是我的webpack.config.js

var webpack = require('webpack');
var CleanPlugin = require('clean-webpack-plugin');

module.exports = {
  entry: {app:'./src/Main.js',theme:'./src/Theme.js'},

  output: {
    filename: '[name].bundle.js',
    chunkFilename: '[id].[hash].bundle.js',
  path: 'build',
    publicPath: '/corp/build/'
  },
  plugins: [
    /*
        // This plugin minifies all the Javascript code of the final bundle
        new webpack.optimize.UglifyJsPlugin({
            mangle:   true,
            compress: {
                warnings: false, // Suppress uglification warnings
            },
        }),
    */
        new webpack.optimize.CommonsChunkPlugin({
            name:      'main', // Move dependencies to our main file
            children:  true, // Look for common dependencies in all children,
            minChunks: 2, // How many times a dependency must come up before being extracted
        })
  ],
  module: {
    loaders: [
      { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader?presets[]=es2015&presets[]=react' },
      { test: /\.scss$/, loaders: [ 'style', 'css', 'sass' ]},
      { test: /\.(jpg|gif|png|eot|woff|svg|ttf)(\?.*)?$/, loader: "file-loader" }
    ]
  }
}

我尝试运行webpack --entry theme,但收到错误ERROR in Entry module not found: Error: Cannot resolve module 'theme' in /var/www/html/corp

1 个答案:

答案 0 :(得分:1)

您可以制作2个单独的Webpack配置,

  1. 首先使用DLL插件进行主题入口点
  2. 在第二个包中您可以通过DLL Reference Plugin
  3. 引用预构建的主题

    然后你可以运行

    sigsuspend()

    主代码中的任何更改都不会影响预构建的主题包

    https://robertknight.me.uk/posts/webpack-dll-plugins/

    https://webpack.js.org/plugins/dll-plugin/