将 Webpack 入口点之一导出为库
Export one of Webpack entry points as a library
我有转译应用的 Webpack 配置:
entry: {
'polyfill': './app/polyfill.js',
'lib': './app/lib.js',
'main': './app/main.js'
},
output: {
path: './bundles',
filename: '[name].js',
sourceMapFilename: '[name].map'
},
...
我想从浏览器中的 <script>
标签加载 polyfill
和 main
,并且 lib
导出为 CommonJS 库。
lib
由 Node 后端使用,但包含一些 app
模块,因此它与其他入口点一起构建)。该应用程序正在转换中,因此不可能仅从 ./app
中 require
模块在 Node.
这里有哪些选项?使用单独的 Webpack 配置和单独的 Webpack 运行是唯一的吗?
我认为最好将 lib
与 app
的 webpack 配置分开。由于 lib
可以被两个模块(front-end 和后端)使用,它可以是一个可以在两端使用的库。
要使用 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
},
对此进行了详细讨论。
我有转译应用的 Webpack 配置:
entry: {
'polyfill': './app/polyfill.js',
'lib': './app/lib.js',
'main': './app/main.js'
},
output: {
path: './bundles',
filename: '[name].js',
sourceMapFilename: '[name].map'
},
...
我想从浏览器中的 <script>
标签加载 polyfill
和 main
,并且 lib
导出为 CommonJS 库。
lib
由 Node 后端使用,但包含一些 app
模块,因此它与其他入口点一起构建)。该应用程序正在转换中,因此不可能仅从 ./app
中 require
模块在 Node.
这里有哪些选项?使用单独的 Webpack 配置和单独的 Webpack 运行是唯一的吗?
我认为最好将 lib
与 app
的 webpack 配置分开。由于 lib
可以被两个模块(front-end 和后端)使用,它可以是一个可以在两端使用的库。
要使用 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
},
对此进行了详细讨论