王剑编程网

分享专业编程知识与实战技巧

打包你的JS后端代码

你可能觉得打包代码是前端常见的操作,其实后端也可以,只是target不一样而已。

我先说说后端代码打包的好处,可能你会常见好多JS后端项目都不去打包带着node_modules就上线了,其实打包后好处很多。

优点:

1、不用再次安装其他node_modules依赖,因为打包的时候已经把node_modules中的相关代码一并打包到一个文件里了。

2、代码会压缩,一是它只打包用到的node_modules中的函数,二是它可以去除空白和混淆你的代码(比如:你的函数名是5个字母,它可以用一个字母替换)打到代码压缩的目的。比如:我有个项目源代码+node_modules总共2M多,打包后只有23K。

3、代码混淆,可以让你的代码有一定的保护,虽然还是可以还原。

4、减少文件读取,因为node只要读取一个文件就行,启动会快一丢丢。

缺点:

1、不方便调试,因为代码的混淆,系统报错后,你也看不懂具体代码了除非你的项目很小。

2、每次发布都要打包,这点我倒觉得没有什么,好多语言每次还要编译呢。

3、兼容可能会出问题,比如:你的电脑node版本是22,服务器是18,可能用到的node_modules代码不一样。尽量使用相近的版本。

用bun来打包代码

其实有很多打包工具,比如pkg等。为什么我要用bun呢?因为bun支持ts和jsx,打包的速度也非常快,主要我的代码运行在bun下。同样的js代码,用bun运行比node要快(大多数情况下,也有个别情况)。

安装bun

npm i bun

打包

bun build main.js --outdir=out --minify --target=bun

main.js是入口文件

--outdir=out是打包后保存到out目录下

--minify是压缩并混淆

--target=bun是运行平台,有"browser", "bun" or "node"

如果打包后你希望在bun下运行target就选bun,如果想在node下运行就选node,如果是前端就选browser

详细的参数信息,请看 bun build --help

注意:如果你的代码里使用了bun的API就别用node运行了,会报错。还有某些node_modules代码是不兼容bun的,所以发布前一定要测试。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言