site logo

Marico' space

你可能不需要把Nest项目用webpack打包

Others 2024-07-28 10:15:00 333

你可能不需要把Nest项目用webpack打包

背景

很多用nest.js开发应用的人, 都有这样的疑问, 为什么nest.js应用最后不用webpack,把node_modules里的依赖一起打包出来, 使得部署更简单,运行占用更小? 网上也有很多攻略. 配置webpack.config.js文件, 配置打包选项, 最后打包成一系列js文件.

webpack打包不一定可行

这样用webpack打包nest.js项目真的可行吗? 答案是否定的.

笔者查阅了nest.js用到的webpack配置, 比如常提到的@nestjs/cli/lib/compiler/defaults/webpack-defaults.js, 以及github上都有很多人提到类似的issue. 最后得出一个结论: 你可能并不需要像react,vue项目那样打包nest.js项目.

简单的nest.js项目, 可以把node_modules里的依赖都打包出来, 但是, 作为一个后端的node.js项目, 你执行的其实,不仅有js文件, 也有很多C, C++, Go等开发的二进制文件, 比如加密Crypto.

不过, 一些简单的项目, 估计也并不需要费这么大精力去折腾怎么打包. 一些大的项目, 则不能较快实现webpack打包, 同时把依赖的二进制文件也copy出来.

不过, 我还是很期待有大神研究明白, 怎么实现JS打包压缩, 依赖的二进制文件同样可以copy出来.