一个可以将js
文件编译成v8 codecache并保存成jsc
的工具。
对于复杂项目可以加快启动速度(待验证),删除原js
仅保留jsc
可实现混淆的目的。
不同v8版本的codecache会不兼容,请确保编译和运行的node版本一致。
编译时需关闭v8的lazy compile,不然无法得到完整的codecache。
通过node
的--nolazy
参数可禁用lazy compile
运行编译出来的jsc
需要指定同等的参数,各种node
的cli
也有对应的方法将参数传递给node
如:
- mocha --v8-nolazy
- pm2 --node-args="--nolazy"
npm i tiny.compiled
jsc *.js # use glob pattern
会在同位置生成后缀为jsc
的二进制缓存文件
js-erase *.js # use glob pattern
️️⚠️危险⚠️
操作,务必确认原js
文件已经提交
或备份
在应用启动的地方加上以下代码。
require('tiny.compiled');
之后的require
在加载新文件时会尝试检查是否有对应的jsc
文件存在,有则加载jsc
,无则加载原文件。