Zum Hauptinhalt springen

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.

Notiz

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.

Vorsicht

Wenn Sie das Feld Domain ausfüllen, stellen Sie sicher, dass es mit einem '/' endet. storage_domian

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/ und js/ in den vom Speicheranbieter angegebenen CDN-Dienst hoch.
  • Ersetzen Sie alle URLs der .css und .js Dateien in web/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.