Udostępnij za pomocą


Dokumentacja interfejsu wiersza polecenia usługi Azure Static Web Apps

Dokumentacja poleceń interfejsu wiersza polecenia usługi Azure Static Web Apps.

Commands

Command Description Typ Status
swa login Loguje się do platformy Azure. SWA Core ogólna dostępność
swa init Konfiguruje nowy projekt usługi Azure Static Web Apps. SWA Core ogólna dostępność
swa build Kompiluje aplikację. Jeśli masz aplikację Node.js, najpierw instaluje zależności. SWA Core ogólna dostępność
swa start Uruchom emulator usługi Azure Static Web Apps z katalogu lub powiąż z uruchomionym serwerem deweloperskim. SWA Core ogólna dostępność
swa deploy Wdróż bieżący projekt w usłudze Azure Static Web Apps. SWA Core ogólna dostępność
swa db Generuj i edytuj konfigurację połączeń bazy danych usługi Static Web Apps. SWA Core ogólna dostępność

Global Parameters

Parameter Summary
--version, -v Wyświetl numer wersji.
--verbose, --V [poziom] Włącz pełne dane wyjściowe. Wartości poziomu obejmują silly, , info( log wartość domyślna) i silent.
--config, -c [ścieżka] Ścieżka do pliku swa-cli.config.json.
--config-name, -cn Konfiguracja używana przez interfejs wiersza polecenia.
--print-config, -g Drukuj wszystkie rozwiązane opcje. Wartość domyślna to false.
--help, -h Pokaż pomoc kontekstową.

swa login

Loguje się do platformy Azure.

Uwierzytelnianie za pomocą platformy Azure w celu uzyskania tokenu wdrożenia dla usługi Azure Static Web Apps przy użyciu swa deploy polecenia .

Syntax

swa login
          [--subscription-id]
          [--resource-group]
          [--tenant-id]
          [--client-id]
          [--client-secret]
          [--app-name]
          [--clear-credentials]
          [--use-keychain]
          [--no-use-keychain]

Examples

Przykład 1. Logowanie interakcyjne na platformie Azure

swa login

Parameters

--subscription-id, -S

Identyfikator subskrypcji platformy Azure używany przez ten projekt. Wartość domyślna to process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

Nazwa grupy zasobów. Grupę domyślną można skonfigurować przy użyciu az configure --defaults group=<name>.

--tenant-id, -T

Identyfikator dzierżawy platformy Azure. Wartość domyślna to process.env.AZURE_TENANT_ID.

--client-id, -C

Identyfikator klienta platformy Azure.

--client-secret, -CS

Wpis tajny klienta platformy Azure.

--app-name, -n

Nazwa aplikacji Usługi Azure Static Web Apps.

--clear-credentials -cc

Wyczyść utrwalone poświadczenia przed zalogowaniem. Wartość domyślna to false.

--use-keychain, -u

Użyj natywnego łańcucha kluczy systemu operacyjnego w celu uzyskania trwałych poświadczeń. Wartość domyślna to true.

--no-use-keychain, -nu

Wyłącz użycie natywnego łańcucha kluczy systemu operacyjnego.

Global Parameters

swa init

Konfiguruje nowy projekt usługi Azure Static Web Apps.

Konfiguruje nowy projekt usługi Azure Static Web Apps za pomocą interfejsu wiersza polecenia usługi Static Web Apps. Tryb interaktywny wyświetla monit o podanie nazwy konfiguracji, wykrywa ustawienia projektu i używane platformy. Po zakończeniu zostanie utworzona nowa statyczna aplikacja internetowa, swa-cli.config.json a plik zostanie wygenerowany w bieżącym katalogu.

Możesz uruchomić swa init wiele razy, aby utworzyć różne konfiguracje dla projektu. Możesz to zrobić, jeśli pracujesz nad monorepo i chcesz skonfigurować różne projekty.

Wygenerowany plik konfiguracji jest używany w każdym poleceniu uruchamianym za pomocą interfejsu wiersza polecenia usługi Static Web Apps. Jeśli masz wiele nazwanych konfiguracji, możesz użyć argumentu pozycyjnego lub --config-name opcji, aby określić konfigurację, której chcesz użyć.

Poniżej przedstawiono przykładową konfigurację wygenerowaną przez init polecenie :

{
  "$schema": "https://aka.ms/azure/static-web-apps-cli/schema",
  "configurations": {
    "myApp": {
      "appLocation": ".",
      "apiLocation": "api",
      "outputLocation": "dist",
      "appBuildCommand": "npm run build",
      "apiBuildCommand": "npm run build --if-present",
      "run": "npm run dev",
      "appDevserverUrl": "http://localhost:8080"
    }
  }
}

Syntax

swa init
          [--yes]

Examples

Przykład 1. Interaktywne tworzenie nowej konfiguracji.

swa init

Przykład 2. Utwórz nową konfigurację przy użyciu wartości domyślnych dla wszystkich opcji.

swa init --yes

Przykład 3. Inicjowanie projektu przy użyciu konfiguracji o nazwie "myApp" z pliku swa-cli.config.json.

swa init --config-name myApp

Parameters

--yes, -y

Odpowiedzi "tak" na wszystkie monity, które wyłącza tryb interaktywny. Wartość domyślna to false.

Global Parameters

swa build

Kompiluje aplikację. Jeśli masz aplikację Node.js, najpierw instaluje zależności.

Typowe przypadki użycia to: Instalowanie zależności dla aplikacji frontonu i interfejsu API oraz uruchamianie poleceń kompilacji dla obu tych typów, tylko kompilowanie frontonu lub projektu interfejsu API, jeśli inny nie ma kroku kompilacji.

Syntax

swa build
          [--app-location]
          [--api-location]
          [--output-location]
          [--app-build-command]
          [--api-build-command]
          [--auto]

Examples

Przykład 1. Skompiluj aplikację i opcjonalnie zainstaluj zależności.

swa build

Przykład 2. Wykrywanie sposobu kompilowania aplikacji i uruchamiania poleceń kompilacji po zainstalowaniu zależności.

swa build --auto

Przykład 3. Instalowanie zależności dla aplikacji frontonu.

swa build --app-location ./client

Przykład 4. Użyj konfiguracji o nazwie myApp w swa-cli.config.json , aby skompilować aplikację frontonu.

swa build myApp

Parameters

--app-location, -a

Folder zawierający kod źródłowy aplikacji frontonu. Wartość domyślna to ..

--api-location, -i

Folder zawierający kod źródłowy aplikacji interfejsu API.

--output-location, -O

Folder zawierający wbudowane źródło aplikacji frontonu. Ta ścieżka jest względna względem --app-locationelementu . Wartość domyślna to ..

--app-build-command, -A

Kompiluje aplikację frontonu.

--api-build-command, -I

Kompiluje aplikację interfejsu API.

--auto

Automatycznie wykrywa sposób tworzenia aplikacji frontonu i interfejsu API. Wartość domyślna to false.

Global Parameters

swa start

Uruchom emulator usługi Azure Static Web Apps z katalogu lub powiąż z uruchomionym serwerem deweloperskim.

Obsługa z folderu

Domyślnie interfejs wiersza polecenia uruchamia i obsługuje dowolną zawartość statyczną z bieżącego katalogu ./roboczego :

swa start

Jeśli folder artefaktu aplikacji statycznej znajduje się w innym folderze (na przykład ./my-dist), uruchom interfejs wiersza polecenia i podaj ten folder:

swa start ./my-dist

Obsługa z serwera deweloperskiego

Podczas lokalnego tworzenia aplikacji frontonu często przydaje się użycie serwera deweloperskiego, który jest dostarczany z interfejsem wiersza polecenia platformy frontonu. Korzystanie z interfejsu wiersza polecenia platformy umożliwia korzystanie z wbudowanych funkcji, takich jak "livereload" i HMR (wymiana gorącego modułu).

Aby użyć interfejsu wiersza polecenia swa z lokalnym serwerem deweloperskim, wykonaj następujące dwa kroki:

  1. Uruchom lokalny serwer deweloperski w zwykły sposób. Jeśli na przykład używasz platformy Angular: ng serve (lub npm start).

  2. W osobnym terminalu uruchom swa start polecenie z identyfikatorem URI dostarczonym przez serwer deweloperski w następującym formacie:

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Oto lista domyślnych portów i poleceń używanych przez niektóre popularne serwery deweloperskie:

Tool Port Command
Angular 4200 swa start http://localhost:4200
Blazor WebAssembly 5000 swa start http://localhost:5000
Gatsby 8000 swa start http://localhost:8000
Hugo 1313 swa start http://localhost:1313
Next.js 3000 swa start http://localhost:3000
React (tworzenie aplikacji React) 3000 swa start http://localhost:3000
Svelte (sirv-cli) 5000 swa start http://localhost:5000
Vue 3000 swa start http://localhost:3000

Zamiast oddzielnie uruchamiać serwer deweloperski, możesz podać polecenie uruchamiania do interfejsu wiersza polecenia.

# npm start script (React)
swa start http://localhost:3000 --run "npm start"

# dotnet watch (Blazor)
swa start http://localhost:5000 --run "dotnet watch run"

# Jekyll
swa start http://localhost:4000 --run "jekyll serve"

# custom script
swa start http://localhost:4200 --run "./startup.sh"

Następnie uzyskaj dostęp do aplikacji za pomocą emulowanych usług z programu http://localhost:4280

Obsługa zarówno aplikacji frontonu, jak i interfejsu API

Jeśli projekt zawiera funkcje interfejsu API, interfejs wiersza polecenia sprawdza, czy narzędzia Azure Functions Core Tools są zainstalowane i dostępne. Jeśli nie, interfejs wiersza polecenia pobierze i zainstaluj odpowiednią wersję narzędzi Azure Functions Core Tools.

Automatyczne uruchamianie serwera interfejsu API

Uruchom interfejs wiersza polecenia i podaj folder zawierający zaplecze interfejsu API (prawidłowy projekt aplikacji usługi Azure Functions):

# static content plus an API
swa start ./my-dist --api-location ./api

# front-end dev server plus an API
swa start http://localhost:3000 --api-location ./api

Ręczne uruchamianie serwera interfejsu API

Podczas lokalnego tworzenia zaplecza warto uruchamiać narzędzia Azure Functions Core Tools oddzielnie w celu obsługi interfejsu API. Dzięki temu można używać wbudowanych funkcji, takich jak debugowanie i obsługa zaawansowanego edytora.

Aby użyć interfejsu wiersza polecenia z lokalnym serwerem deweloperskim zaplecza interfejsu API, wykonaj następujące dwa kroki:

  1. Uruchom interfejs API przy użyciu narzędzi Azure Functions Core Tools: func host start lub rozpocznij debugowanie w programie VS Code.

  2. W osobnym terminalu uruchom interfejs wiersza polecenia swa z flagą i identyfikatorem --api-location URI lokalnego serwera interfejsu API w następującym formacie:

swa start ./my-dist --api-location http://localhost:7071

Database connections

Aby uruchomić aplikację za pomocą połączenia z bazą danych, użyj parametru --data-api-location i wskaż folder zawierający plik staticwebapp.database.config.json .

swa start ./src --data-api-location swa-db-connections

Syntax

swa start

Examples

Przykład 1. Uruchom aplikację z wartościami domyślnymi.

swa start

Przykład 2. Uruchamianie aplikacji przy użyciu serwera deweloperskiego frontonu.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Przykład 3. Uruchamianie aplikacji przy użyciu serwera deweloperskiego frontonu i zaplecza.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT> --api-location http://localhost:7071

Parameters

--app-location, -a <PATH>

Folder zawierający kod źródłowy aplikacji frontonu. Wartość domyślna to ..

--api-location, -i <PATH>

Folder zawierający kod źródłowy aplikacji interfejsu API.

--output-location, -O <PATH>

Folder zawierający wbudowane źródło aplikacji frontonu. Ścieżka jest względna względem --app-location. Wartość domyślna to ..

--data-api-location

Folder zawierający plik staticwebapp.database.config.json .

--app-devserver-url, -D <URL>

Połącz się z serwerem deweloperskim aplikacji pod tym adresem URL zamiast używać lokalizacji wyjściowej.

--api-devserver-url, -is <URL>

Połącz się z serwerem interfejsu API pod tym adresem URL zamiast używać lokalizacji wyjściowej.

--api-port, -j <API_PORT>

Port serwera interfejsu API przekazany do func start. Wartość domyślna to 7071.

--host, -q <HOST>

Adres hosta używany dla serwera deweloperskiego interfejsu wiersza polecenia. Wartość domyślna to localhost.

--port, -p <PORT>

Wartość portu do użycia dla serwera deweloperskiego interfejsu wiersza polecenia. Wartość domyślna 4280.

--ssl, -s

Obsługa aplikacji frontonu i interfejsu API za pośrednictwem protokołu HTTPS. Wartość domyślna to false.

--ssl-cert, -e <SSL_CERT_LOCATION>

Certyfikat SSL (crt) używany podczas włączania protokołu HTTPS.

--ssl-key, -k <SSL_KEY_LOCATION>

Klucz SSL (.key) używany podczas włączania protokołu HTTPS.

--run, -r <STARTUP_SCRIPT>

Lokalizacja niestandardowego polecenia powłoki lub pliku skryptu do uruchomienia.

--devserver-timeout, -t <TIME>

Czas oczekiwania (w sekundach) podczas nawiązywania połączenia z serwerem deweloperskim aplikacji frontonu lub serwerem interfejsu API. Wartość domyślna to 60.

--swa-config-location, -w <SWA_CONFIG_FILE_LOCATION>

Lokalizacja staticwebapp.config.json katalogu pliku.

--open, -o

Otwórz przeglądarkę na serwerze deweloperskim. Wartość domyślna to „false”.

--func-args, -f <FUNCTION_ARGUMENTS>

Przekaż dodatkowe argumenty do func start polecenia .

Global Parameters

swa deploy

Wdróż bieżący projekt w usłudze Azure Static Web Apps.

Typowe przypadki użycia to:

  1. Wdrażanie aplikacji frontonu bez interfejsu API

  2. Wdrażanie aplikacji frontonu przy użyciu interfejsu API

  3. Wdrażanie aplikacji Platformy Blazor

Deployment token

Interfejs wiersza polecenia swa obsługuje wdrażanie przy użyciu tokenu wdrożenia. Jest to często przydatne podczas wdrażania ze środowiska ciągłej integracji/ciągłego wdrażania. Token wdrożenia można pobrać z:

  • Witryna Azure Portal: strona główna → statycznej aplikacji internetowej → wystąpienia → omówienie → Zarządzanie tokenem wdrożenia

  • Jeśli używasz interfejsu wiersza polecenia platformy Azure, możesz uzyskać token wdrożenia projektu przy użyciu następującego polecenia:

az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
  • Jeśli używasz interfejsu wiersza polecenia usługi Azure Static Web Apps, możesz użyć następującego polecenia:
swa deploy --print-token

Następnie możesz użyć tej wartości z wartością --deployment-token <TOKEN> lub utworzyć zmienną środowiskową o nazwie SWA_CLI_DEPLOYMENT_TOKEN i ustawić ją na token wdrożenia.

Important

Nie przechowuj tokenu wdrożenia w repozytorium publicznym. Ta wartość musi pozostać wpisem tajnym.

Wdrażanie aplikacji frontonu bez interfejsu API

Aplikację frontonu można wdrożyć bez interfejsu API w usłudze Azure Static Web Apps, wykonując następujące kroki:

  1. Jeśli aplikacja frontonu wymaga kroku kompilacji, uruchom swa build lub zapoznaj się z instrukcjami kompilacji aplikacji.

Opcja 1: W folderze kompilacji, który chcesz wdrożyć, uruchom polecenie deploy:

cd build/
swa deploy

Note

Folder build musi zawierać zawartość statyczną aplikacji, którą chcesz wdrożyć.

Opcja 2: Można również wdrożyć określony folder:

  1. Jeśli aplikacja frontonu wymaga kroku kompilacji, uruchom swa build lub zapoznaj się z instrukcjami kompilacji aplikacji.

  2. Wdróż aplikację:

swa deploy ./my-dist

Wdrażanie aplikacji frontonu za pomocą interfejsu API

Aby wdrożyć zarówno aplikację frontonu, jak i interfejs API w usłudze Azure Static Web Apps, wykonaj następujące kroki:

  1. Jeśli aplikacja frontonu wymaga kroku kompilacji, uruchom swa build lub zapoznaj się z instrukcjami kompilacji aplikacji.

  2. Upewnij się, że wersja środowiska uruchomieniowego języka interfejsu staticwebapp.config.json API w pliku jest poprawnie ustawiona, na przykład:

{
  "platform": {
    "apiRuntime": "node:16"
  }
}

Note

Jeśli projekt nie ma żadnego staticwebapp.config.json pliku, dodaj go w outputLocation folderze.

  1. Wdróż aplikację:
swa deploy ./my-dist --api-location ./api

Wdrażanie aplikacji Platformy Blazor

Aby wdrożyć aplikację Platformy Blazor z opcjonalnym interfejsem API w usłudze Azure Static Web Apps, wykonaj następujące kroki:

  1. Skompiluj aplikację Blazor w trybie wydania :
dotnet publish -c Release -o bin/publish
  1. W katalogu głównym projektu uruchom deploy polecenie :
swa deploy ./bin/publish/wwwroot --api-location ./Api

Wdrażanie przy użyciu narzędzia swa-cli.config.json

Note

Ścieżka dla outputLocation elementu musi być względna względem .appLocation

Jeśli używasz swa-cli.config.json pliku konfiguracji w projekcie i masz pojedynczy wpis konfiguracji, użyj konfiguracji podobnej do następującej:

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}

Następnie możesz wdrożyć aplikację, wykonując następujące kroki:

  1. Jeśli aplikacja frontonu wymaga kroku kompilacji, uruchom swa build lub zapoznaj się z instrukcjami kompilacji aplikacji.

  2. Wdróż aplikację:

swa deploy

Jeśli masz wiele wpisów konfiguracji, możesz podać identyfikator wpisu, aby określić, który z nich ma być używany:

swa deploy my-otherapp

Syntax

swa deploy
           [--yes]

Examples

Przykład 1. Wdrażanie przy użyciu tokenu wdrożenia.

swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>

Przykład 2. Wdrażanie przy użyciu tokenu wdrożenia ze zmiennych środowiskowych

SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/

Przykład 3. Wdrażanie przy użyciu swa-cli.config.json pliku

swa deploy
swa deploy myconfig

Przykład 4. Drukowanie tokenu wdrożenia

swa deploy --print-token

Przykład 5. Wdrażanie w określonym środowisku

swa deploy --env production

Global Parameters

swa db

Generuj i edytuj konfigurację połączeń bazy danych usługi Static Web Apps.

Służy swa db init do generowania przykładowego folderu swa-db-connections wraz z plikiem staticwebapp.database.config.json konfiguracji. Jeśli używasz bazy danych Cosmos DB for NoSQL, spowoduje to również wygenerowanie przykładowego staticwebapp.database.schema.gql pliku schematu.

Syntax

swa db init --database-type <DATABASE_TYPE>

Examples

Przykład 1: Generowanie przykładowego folderu konfiguracji połączenia bazy danych dla bazy danych Azure SQL Database.

swa db init --database-type mssql

Parameters

--database-type, -t <DATABASE_TYPE>

(Wymagane) Typ bazy danych, którą chcesz połączyć (mssql, postgresql, cosmosdb_nosql, mysql).

--folder-name, -f <FOLDER_NAME>

Nazwa folderu, aby zastąpić nazwę folderu konfiguracji połączenia bazy danych konwencji (upewnij się, że pliki przepływu pracy ciągłej integracji/ciągłego wdrażania są odpowiednio aktualizowane). Wartość domyślna to swa-db-connections.

---connection-string, -cs <CONNECTION_STRING>

Parametry połączenia bazy danych, z którą chcesz nawiązać połączenie.

--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>

Baza danych konta usługi Cosmos DB, z którą chcesz nawiązać połączenie (wymagane tylko w przypadku używania cosmosdb_nosql typu bazy danych).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Kontener konta usługi Cosmos DB, z którym chcesz nawiązać połączenie.

--help, -h

Wyświetl pomoc dotyczącą polecenia.

Global Parameters