rax-app
rax-app copied to clipboard
[Enhance] Rax SSR 包体积优化
- 移除 useEffect 等在服务端不执行的代码,再移除无用的 import
- 增加用户配置,修改构建 SSR 时 @babel/preset-env 插件中 targets.node 版本,减少 babel 的语法转换
- 实际使用中,部分场景 platform-loader 没有生效
SSR 的包体积极致优化的目的是?
babel 语法转化这个对构建速度的影响应该也还好,目前只编译源码不会编译 node_modules,你指的是更高级语法对性能更好?如果业务有自己的诉求可以在 build.json 配置:https://rax.js.org/docs/guide/build-config#browserslist
platform-loader 这个可以参考「跨端三方包研发规范」这个 RFC
babel 语法转化这个对构建速度的影响应该也还好,目前只编译源码不会编译 node_modules,你指的是更高级语法对性能更好?如果业务有自己的诉求可以在 build.json 配置:rax.js.org/docs/guide/build-config#browserslist
关于这点我又想了一下,node 的 targets 和 web 的 targets 得允许用户单独配置,不然 node 的 targets 会影响 web
使用 "Modern JavaScript" 对体积和性能的影响可以参考这里
![snapshot](https://user-images.githubusercontent.com/9125255/121373156-6e109500-c971-11eb-8907-9481c785c706.png)
原文:Publish, ship, and install modern JavaScript for faster applications