跳到主内容

在CDN中托管静态文件

前端静态资源,如 .js 和 .css 文件,位于 web/build/static/。 如果您希望在公共云的CDN服务中部署这些文件,Casdoor提供了一个简化部署过程的脚本。 请按照以下步骤操作:

备注

我们假设您已经构建了Casdoor的前端代码。 如果您还没有,请参考文档

准备工作

首先,您需要在Casdoor UI中创建一个有效的存储提供商。 您可以参考示例

注意事项

在填写Domain字段时,确保以'/'结束。 storage_domian

使用说明

该脚本可以在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被请求。