将一个Webpack入口点导出为库

Est*_*ask 11 commonjs webpack 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'
},
...
Run Code Online (Sandbox Code Playgroud)

我想拥有polyfillmain<script>浏览器中的标签加载,并lib导出为CommonJS库.

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

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

Tha*_*ran 3

我想说最好将libwebpackapp配置分开。自从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
  },
Run Code Online (Sandbox Code Playgroud)

这里详细讨论这一点。