在CDN中托管静态文件
前端静态资源,如 .js 和 .css 文件,位于 web/build/static/
。 如果您希望在公共云的CDN服务中部署这些文件,Casdoor提供了一个简化部署过程的脚本。 请按照以下步骤操作:
备注
我们假设您已经构建了Casdoor的前端代码。 如果您还没有,请参考文档。
准备工作
首先,您需要在Casdoor UI中创建一个有效的存储提供商。 您可以参考示例。
注意事项
在填写Domain
字段时,确保以'/'结束。
使用说明
该脚本可以在deployment/deploy_test.go找到。
在deploy_test.go中,你需要修改GetProvider()
中的id
参数。 提供者 id
的格式是 <owner>/<name>
。
func TestDeployStaticFiles(t *testing.T) {
provider := object.GetProvider("admin/provider_storage_aliyun_oss")
deployStaticFiles(provider)
}
在进行必要的修改后,使用以下命令来运行脚本:
cd deployment
go test
如果执行成功,你将会看到:
PASS
ok github.com/casdoor/casdoor/deployment 2.951s
工作原理
脚本的功能:
- 将
css/
和js/
文件夹中的所有文件上传到存储提供商指定的CDN服务。 - 将
web/build/index.html
中的所有.css
和.js
文件的URL替换为CDN中托管的URL。
你仍然需要保留index.html
文件。 在静态文件被上传到CDN后,index.html
仍然会通过Casdoor的Go后端被用户请求,而CDN中的静态文件将通过在index.html
中提供的URLs被请求。