如何使用 webpack 将多个节点 js 文件组合成一个包
Posted
技术标签:
【中文标题】如何使用 webpack 将多个节点 js 文件组合成一个包【英文标题】:How to combine multiple node js file into a single bundle using webpack 【发布时间】:2021-12-21 20:41:29 【问题描述】:我正在尝试从 nodejs 应用程序中的多个 javascript 文件创建单个包。
我使用的配置有点像这样:
const path = require('path')
const nodeExternals = require('webpack-node-externals')
'use strict';
module.exports =
externals: [nodeExternals()],
entry: './lib/index.js',
output:
iife: false,
path: path.resolve(__dirname, 'lib'),
filename: 'bundle.js', // <-- Important
,
target: 'node', // <-- Important
;
问题是当我运行bundle.js command
而不是让它按照命令所说的那样运行时,我得到了流式传输到终端的文件的完整源。
该文件似乎包含某种立即执行的 IIFE。我在 webpack 配置中将 iife: false
设置为 false,但这也没有任何区别。
有什么想法可能是错的吗?
编辑:
我通过添加以下内容来调用 webpack:
bundle: webpack --config webpack.config.js
到 package.json
中的脚本部分,然后我运行 npm run bundle
【问题讨论】:
您能分享一下您是如何调用webpack
命令的吗?
更新了故事以包含此内容
很奇怪。它似乎对我有用,因为它与 Webpack 版本 5 没有任何问题。
【参考方案1】:
作为替代方案,您可以使用 https://www.npmjs.com/package/@vercel/ncc 包将所有 Node.js 代码捆绑到一个文件中。
【讨论】:
以上是关于如何使用 webpack 将多个节点 js 文件组合成一个包的主要内容,如果未能解决你的问题,请参考以下文章