Hosting de Archivos Estáticos en un CDN
Los recursos estáticos del frontend, como los archivos .js y .css, se encuentran en web/build/static/
. Si deseas desplegar estos archivos en el servicio CDN de una nube pública, Casdoor proporciona un script que simplifica el proceso de despliegue. Por favor, sigue los pasos a continuación.
Suponemos que ya has construido el código del frontend de Casdoor. Si no lo has hecho, por favor consulta la documentación.
Preparación
Primero, necesitas crear un Proveedor de Almacenamiento válido en la interfaz de usuario de Casdoor. Puedes referirte al ejemplo.
Al completar el campo Domain
, asegúrate de terminarlo con un '/'.
Uso
El script se puede encontrar en deployment/deploy_test.go.
En deploy_test.go, necesitas modificar el parámetro id
en GetProvider()
. El formato del id
del proveedor es <owner>/<name>
.
func TestDeployStaticFiles(t *testing.T) {
provider := object.GetProvider("admin/provider_storage_aliyun_oss")
deployStaticFiles(provider)
}
Después de hacer la modificación necesaria, usa los siguientes comandos para ejecutar el script:
cd deployment
go test
Si la ejecución es exitosa, verás:
PASS
ok github.com/casdoor/casdoor/deployment 2.951s
Cómo funciona
El script hará:
- Sube todos los archivos en las carpetas
css/
yjs/
al servicio CDN especificado por el proveedor de almacenamiento. - Reemplaza todas las URLs de los archivos
.css
y.js
enweb/build/index.html
con las URLs alojadas en el CDN.
Todavía necesitas mantener el archivo index.html
. Después de que los archivos estáticos sean subidos al CDN, index.html
seguirá siendo solicitado por los usuarios a través del backend de Go de Casdoor, y los archivos estáticos en el CDN serán solicitados a través de las URLs proporcionadas en index.html
.