返回
阅读【枫落迎雪、】的帖子
记一次webpack打包nodejs服务端项目
版块:开发交流
今天使用webpack打包nodejs项目时,报了一大堆(类似下面)的错
ERROR in ./node_modules/_inflation@2.0.0@inflation/index.js 2:11-26
Module not found: Error: Can't resolve 'zlib' in 'E:\comproject\projecrt-server\node_modules\_inflation@2.0.0@inflation'
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.
If you want to include a polyfill, you need to:
- add a fallback 'resolve.fallback: { "zlib": require.resolve("browserify-zlib") }'
- install 'browserify-zlib'
If you don't want to include a polyfill, you can use an empty module like this:
resolve.fallback: { "zlib": false }
@ ./node_modules/_co-body@6.1.0@co-body/lib/text.js 8:16-36
@ ./node_modules/_co-body@6.1.0@co-body/index.js 6:0-36
@ ./node_modules/_koa-bodyparser@4.3.0@koa-bodyparser/index.js 17:12-30
@ ./app.ts 9:19-44
@ ./bin/www.ts 6:13-30
后来搜索了一翻 发现是 webpack 打包 nodejs常见的问题,因为nodejs对于webpack来说是外部扩展,意思就是webpack不会内置nodejs,所以解决办法就是 忽略nodejs的环境。
所以需要在打包的时候给webpack当前的环境,搜索到的配置代码为
const nodeExternals = require('webpack-node-externals');
module.exports = {
target: "node",
externals: [
nodeExternals({
allowlist: ['webpack/hot/poll?100'],
}),
]
};
但是我在实际运用的时候 发现只要给定target: "node"就可以了,如果不行的话,建议也装上依赖
(adsbygoogle = window.adsbygoogle || []).push({});
2024-02-04 23:21:43 枫落迎雪、【修改帖子】
原因:暂无
2023-09-23 22:22:58 管理员【加精帖子】
原因:恭喜您的帖子被选为精品贴
2023-08-08 23:10:57 枫落迎雪、【修改帖子】
原因:暂无
2023-04-05 21:32:59 管理员【修改帖子】
原因:暂无
2023-04-05 21:32:33 管理员【修改帖子】
原因:暂无
- 0
- 0收藏帖子
- 0关注帖子
- 0
本贴有需要购买的内容
共 4 条评论
排序:时间 降序
请文明交流~
3楼
赞
70岁的老父亲身体硬朗,耳不聋眼不花,还能教我上幼儿园的女儿识字呢。 那天回家,见他指着一张图对我女儿说:嘴,嘴巴的嘴。我便纠正他说:是口,小口的口。 他翻了一页,又指着一张图说:眼,眼睛的眼。我又纠正说:是目,目光的目。 父亲再翻一页,指着那张图说:脚,小脚的脚。我笑了,说:又错了,是足,足球的足。 父亲翻到第四页,看了我一眼,然后小心翼翼地指着那个人头对我女儿说道:头,头发的头。 女儿说:爷爷,又错了,我老师说,这个字念首,首级的首。 老父亲笑了,说:这次,是你们错了,手机谁还没见过,这就是个头.头发的头。 +6枚云币
00
最后一页