跟同事弃用webpack一次 体积减少了10倍

本文讲述了在解决Node.js服务打包体积过大问题时,如何从依赖webpack转向使用pkg库,将项目打包成可执行文件,减少镜像体积近10倍的过程。探讨了webpack与Node.js运行的冲突,以及npm未来的可能发展方向。
摘要由CSDN通过智能技术生成

写在开头

何谓难题?将两个水火不相容的东西强行融合在一起,将两个原理完全冲突的东西强行混合在一起的时候,需求不合理的时候

例如:通过用户的手机壳更换主题颜色

又例如:让马儿跑但是不让马儿吃草


故事的开头

后端同事,在用nodejs做个服务,但是他又做成了镜像(docker容器化了),而且是按需冷启动(即:当有人访问的时候,才启动这个服务),现阶段用的nest.js这个框架,打包出来以后,需要把整个node_modules都copy进去容器,这样导致容器很大~

此时打包工具是webpack

开始

一开始是他在寻找webapck配置,发现各种配置行不通。打包nodejs项目不能像前端那样,直接只生成静态文件,不用携带node_modules文件夹

核心需求

想要打包nodejs时候,不携带node_modules这个完整文件夹,轻量化,把node_modules代码打包进nodejs项目源码中

国内解决方案

分层构建打包docker镜像之类的,并不能满足

问题分析

nodejs采用的是commonjs模块化方案,当然目前es6模块化也是可以跑的,在服务端运行时候,启动命令是:

node index.js

要想nodejs能顺利跑起来&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值