本文档适合的场景是:解决因分布、带宽、服务器性能带来的访问延迟问题,将运行于 Rainbond 的 Nodejs 前端项目进行动静分离,通过 阿里云CDN 加速 对象存储OSS 中的静态资源,提升用户访问速度。
实现原理:Rainbond 支持 Nodejs 前端项目的源码构建,在项目CI 结束后通过自定义脚本自动将静态文件(css,js,img等)推送至 对象存储OSS ,使用阿里云 CDN 对 对象存储OSS 中的静态资源进行加速,实现动静分离,有效提升内容加载速度。
操作步骤
Demo:好雨科技 Rainbond 前端开源项目 Rainbond-ui
推送静态文件
npm 是 Nodejs 的包管理器,提供了 pre 和 post 两种钩子,对于任何在 package.json 的 scripts 字段中定义的命令,可以通过 pre 以及 post 名称前缀,额外定义该任务在执行前、后的额外执行的钩子命令。例如:
“postbuild” 中定义了在编译后需要执行的脚本 cdn_release.sh
项目package.json文件
{
"name": "rainbond-ui",
"version": "5.3.0",
"description": "rainbond front-end project.",
"private": true,
"scripts": {
"start": "umi dev",
"start:no-mock": "cross-env MOCK=none umi dev",
"build"