将一个Webpack入口点导出为库

时间:2016-10-25 01:20:20

标签: webpack commonjs webpack-2

我有针对已转换应用的Webpack配置:

entry: {
    'polyfill': './app/polyfill.js',
    'lib': './app/lib.js',
    'main': './app/main.js'
},
output: {
    path: './bundles',
    filename: '[name].js',
    sourceMapFilename: '[name].map'
},
...

我希望从浏览器中的polyfill标记加载main<script>,并将lib导出为CommonJS库。

lib由Node后端使用,但包含一些app模块,因此它与其他入口点一起构建)。正在编译应用程序,因此不可能仅在require节点中./app模块。

这里有什么选择?使用单独的Webpack配置和单独的Webpack运行只有一个吗?

1 个答案:

答案 0 :(得分:2)

我想说最好将libapp的webpack配置分开。由于lib可以被两个模块(前端和后端)使用,因此它可以是一个可以在两端使用的库。

要使用webpack创建库,您可以使用下面的配置

 entry: { lib: './app/lib' },
 output: {
    path: __dirname + '/lib', // path to output
    filename: outputFile, // library file name
    library: libraryName, // library name
    libraryTarget: 'umd', // the umd format
    umdNamedDefine: true // setting this to true will name the AMD module
  },

详细讨论here