捆绑在webpack中时,我可以捆绑公共模块吗?

时间:2017-02-16 05:56:40

标签: javascript node.js typescript module webpack

关于webpack的问题。使用webpack捆绑模块时根据入口点的位置运行应用程序。此时,当入口点设置为多个时,将创建由入口点数构建的文件。

如果捆绑包以条目形式捆绑到Web包中,它们可以捆绑到捆绑包A和B中。此时,我在A包中使用了一个名为HELLO的模块,在B模块中使用了一个名为HELLO的模块。

此时,在捆绑Web包时,只将共同使用的模块(HELLO模块)单独捆绑在一起。

我可以制作A捆绑,B捆绑,H捆绑吗?我想在A捆绑中调用H bundle并使其可用。

下面是我的webpack代码。我使用多个条目来多个包

module.exports = {
    devtool: 'source-map',
    entry: ['./public/js/index.ts', './public/js/admin/member.ts'],
    output: {
        path: 'dist/public/js',
        filename: '[name].js'
    },
    module: {
        loaders: [{
            test: /\.tsx?$/,
            loader: 'ts-loader',
            options: {
                transpileOnly: true
            }
        }]
    },
    resolve: {
        extensions: [".ts", ".js"]
    }
};

1 个答案:

答案 0 :(得分:0)

module.exports = {
  devtool: 'source-map',
  entry: {
    A: ['./public/js/index.ts'],
    B: ['./public/js/admin/member.ts']
  },
  output: {
    path: 'dist/public/js',
    filename: '[name].js'
  },
  module: {
    loaders: [{
        test: /\.tsx?$/,
        loader: 'ts-loader',
        options: {
            transpileOnly: true
        }
    }]
  },
  resolve: {
    extensions: [".ts", ".js"]
  },
  plugins: [
     new CommonsChunkPlugin({
     name: 'H',
     minChunks: 2
   })
};

webpack会生成A.js,B.js和H.js,其中H.js将拥有A和B使用的共享模块。但在包括A和B

之前,必须首先通过脚本标记包含H.

这样的东西?