Udostępnij za pośrednictwem


swa

Polecenia

Nazwa Opis Typ Stan
swa login

Logowanie się do platformy Azure

SWA Core Ogólna dostępność
swa build

Kompiluje aplikację. Jeśli masz aplikację Node.js, najpierw zainstaluje 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ść

swa login

Logowanie 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 .

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

Przykłady

Logowanie interakcyjne na platformie Azure

swa login

Parametry opcjonalne

--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 polecenia 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.

Parametry globalne
--version, -v

Wyświetl numer wersji.

--verbose, --V [level]

Włącz pełne dane wyjściowe. Wartości poziomu obejmują silly, , info( log wartość domyślna) i silent.

--config, -c [path]

Ś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 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, wykryje ustawienia projektu i używane platformy. Po zakończeniu zostanie utworzona nowa statyczna aplikacja internetowa, a plik swa-cli.config.json 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"
    }
  }
} ```
swa init
          [--yes]

Przykłady

Utwórz nową konfigurację interaktywnie.

swa init

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

swa init --yes

Zainicjuj projekt przy użyciu konfiguracji o nazwie "myApp" z pliku swa-cli.config.json.

swa init --config-name myApp

Parametry opcjonalne

--yes, -y

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

Parametry globalne
--version, -v

Wyświetl numer wersji.

--verbose, --V [level]

Włącz pełne dane wyjściowe. Wartości poziomu obejmują silly, , info( log wartość domyślna) i silent.

--config, -c [path]

Ś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 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:

Narzędzie Port Polecenie
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 sprawdzi, czy narzędzia Azure Functions Core Tools są zainstalowane i dostępne. Jeśli nie, interfejs wiersza polecenia pobierze i zainstaluje 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

Połączenia bazy danych

Aby uruchomić aplikację przy użyciu 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

Przykłady

Uruchom aplikację z wartościami domyślnymi.

swa start

Uruchom aplikację przy użyciu serwera deweloperskiego frontonu.

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

Uruchom aplikację przy użyciu frontonu i serwera deweloperskiego zaplecza.

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

Parametry opcjonalne

--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 „fałsz”.

--func-args, -f <FUNCTION_ARGUMENTS>

Przekaż dodatkowe argumenty do func start polecenia .

Parametry globalne
--version, -v

Wyświetl numer wersji.

--verbose, --V [level]

Włącz pełne dane wyjściowe. Wartości poziomu obejmują silly, , info( log wartość domyślna) i silent.

--config, -c [path]

Ś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 build

Kompiluje aplikację. Jeśli masz aplikację Node.js, najpierw zainstaluje 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 elementów, tylko kompilowanie frontonu lub projektu interfejsu API, jeśli inny nie ma kroku kompilacji.

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

Przykłady

Skompiluj aplikację i opcjonalnie zainstaluj zależności.

swa build

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

swa build --auto

Instalowanie zależności dla aplikacji frontonu.

swa build --app-location ./client

Użyj konfiguracji o nazwie "myApp" w *swa-cli.config.json*, aby skompilować aplikację frontonu.

swa build myApp

Parametry opcjonalne

--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.

Parametry globalne
--version, -v

Wyświetl numer wersji.

--verbose, --V [level]

Włącz pełne dane wyjściowe. Wartości poziomu obejmują silly, , info( log wartość domyślna) i silent.

--config, -c [path]

Ś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 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

Token wdrożenia

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ąpienie → — 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.

    Ważne: 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

Uwaga: build folder 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"
  }
}

Uwaga: 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

Uwaga: ś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
swa deploy
          [--yes]

Przykłady

Wdrażanie przy użyciu tokenu wdrożenia.

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

Wdrażanie przy użyciu tokenu wdrożenia ze zmiennych środowiskowych

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

Wdrażanie przy użyciu pliku "swa-cli.config.json"

swa deploy swa deploy myconfig

Drukowanie tokenu wdrożenia

swa deploy --print-token

Wdrażanie w określonym środowisku

swa deploy --env production
Parametry globalne
--version, -v

Wyświetl numer wersji.

--verbose, --V [level]

Włącz pełne dane wyjściowe. Wartości poziomu obejmują silly, , info( log wartość domyślna) i silent.

--config, -c [path]

Ś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 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 konfiguracji staticwebapp.database.config.json . Jeśli używasz bazy danych Cosmos DB for NoSQL, spowoduje to również wygenerowanie przykładowego pliku schematu staticwebapp.database.schema.gql .

swa db init --database-type <DATABASE_TYPE>

Przykłady

Wygeneruj przykładowy folder konfiguracji połączenia bazy danych dla bazy danych Azure SQL Database.

swa db init --database-type mssql

Parametry opcjonalne

--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). Domyślna wartość 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 (wymagana tylko w przypadku używania typu bazy danych cosmosdb_nosql).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

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

--help, -h

Wyświetl pomoc dotyczącą polecenia.

Parametry globalne
--version, -v

Wyświetl numer wersji.

--verbose, --V [level]

Włącz pełne dane wyjściowe. Wartości poziomu obejmują silly, , info( log wartość domyślna) i silent.

--config, -c [path]

Ś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ą.