Hosting statischer Dateien in einem CDN
Statische Frontend-Ressourcen, wie .js und .css Dateien, befinden sich in web/build/static/
. Wenn Sie diese Dateien in einem öffentlichen Cloud-CDN-Service bereitstellen möchten, bietet Casdoor ein Skript, das den Bereitstellungsprozess vereinfacht. Bitte folgen Sie den unten aufgeführten Schritten.
Wir gehen davon aus, dass Sie bereits den Frontend-Code von Casdoor erstellt haben. Wenn nicht, beziehen Sie sich bitte auf die Dokumentation.
Vorbereitung
Zuerst müssen Sie einen gültigen Storage Provider in der Casdoor-Benutzeroberfläche erstellen. Sie können sich auf das Beispiel beziehen.
Wenn Sie das Feld Domain
ausfüllen, stellen Sie sicher, dass es mit einem '/' endet.
Verwendung
Das Skript finden Sie unter deployment/deploy_test.go.
In deploy_test.go müssen Sie den id
Parameter in GetProvider()
ändern. Das Format der Provider id
ist <owner>/<name>
.
func TestDeployStaticFiles(t *testing.T) {
provider := object.GetProvider("admin/provider_storage_aliyun_oss")
deployStaticFiles(provider)
}
Nachdem Sie die notwendige Änderung vorgenommen haben, verwenden Sie die folgenden Befehle, um das Skript auszuführen:
cd deployment
go test
Wenn die Ausführung erfolgreich ist, werden Sie sehen:
PASS
ok github.com/casdoor/casdoor/deployment 2.951s
Wie es funktioniert
Das Skript wird:
- Laden Sie alle Dateien in den Ordnern
css/
undjs/
in den vom Speicheranbieter angegebenen CDN-Dienst hoch. - Ersetzen Sie alle URLs der
.css
und.js
Dateien inweb/build/index.html
durch die URLs, die im CDN gehostet werden.
Sie müssen immer noch die Datei index.html
behalten. Nachdem die statischen Dateien auf das CDN hochgeladen wurden, wird index.html
weiterhin von den Benutzern über Casdoors Go-Backend angefordert, und die statischen Dateien im CDN werden über die in index.html
bereitgestellten URLs angefordert.