【问题标题】:Export one of Webpack entry points as a library将 Webpack 入口点之一导出为库
【发布时间】:2017-03-06 21:51:16
【问题描述】:

我有转译应用的 Webpack 配置:

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

我想让polyfillmain从浏览器的<script>标签加载,lib作为CommonJS库导出。

lib 由 Node 后端使用,但包含一些 app 模块,因此它与其他入口点一起构建)。应用程序正在被转译,因此无法在 Node 中仅从 ./app 中提取 require 模块。

这里有哪些选项?使用单独的 Webpack 配置和单独的 Webpack 运行是唯一的吗?

【问题讨论】:

标签: webpack commonjs webpack-2


【解决方案1】:

我会说最好将 libapps 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详细讨论。

【讨论】:

  • 我希望我能在一个 Webpack 通道中完成它。太糟糕了,没有明显的方法可以做到这一点。
  • 既然你想把lib作为一个库使用,它必须在单独的webpack配置中,这样你才能得到一个output的库。
猜你喜欢
  • 2017-01-10
  • 2018-07-09
  • 1970-01-01
  • 2019-03-31
  • 1970-01-01
  • 2017-07-11
  • 2017-08-31
  • 2018-08-19
  • 1970-01-01
相关资源
最近更新 更多