Node.js API啟動器套件是用於構建Node.js後端應用程序的項目模板,該應用程序已針對無服務器基礎架構(例如Google Cloud Functions,AWS Lambda,Azure功能等)進行了優化。將其用作前端應用程序的API服務器。
local , dev , test和prod環境該項目用Node.js API入門套件進行了引導。請務必加入我們的Discord頻道以尋求幫助。
├──編譯和捆綁輸出(每個雲功能.build
├── .vscode - VSCODE設置,包括代碼片段,推薦擴展等。
├── - 使用GraphQl.js處理API請求的api功能├── auth - 身份驗證和會話中間件├── core - 通用應用模塊(電子郵件,記錄等)
├── db - 使用KNEX的PostgreSQL數據庫客戶端├── emails - 使用車把的電子郵件模板用於交易電子郵件├── env - local , dev , test和prod的環境變量├── migrations - 數據庫架構遷移(雲SQL,KNEX)
├── scripts - 部署腳本,depp shell等。
├── test - 單位測試和基準測試├── views - 使用車把的HTML模板└── ... - 添加更多雲功能,例如worker , notifications等。
git clone -o seed https://github.com/kriasoft/node-starter-kit.git 。local , dev , test和prod環境的環境變量( ./env )。yarn installyarn db:createyarn start ,它將在http:// localhost:8080上找到。使用APP_ENV環境變量來執行不同環境的腳本,例如:
$ APP_ENV=test yarn db:migrate
$ APP_ENV=test yarn start
重要:確保VSCODE使用Typescript和Eslint的工作區版本。
yarn start - 在http://localhost:8080上以開發模式啟動該應用程序yarn build - 編譯並捆綁該應用程序進行部署yarn lint - 使用ESLINT驗證代碼yarn tsc - 使用打字稿編譯器驗證代碼yarn test - 開玩笑,Supertest進行運行單位測試yarn repl使用knex repl shell連接到數據庫yarn psql - 使用PostgreSQL CLI連接到數據庫yarn db:create - 創建一個新數據庫yarn db:version - 檢查數據庫的當前版本yarn db:migrate - 遷移數據庫模式到最新版本yarn db:rollback - 回滾最新的遷移yarn db:seed - 帶有樣品 /參考數據的種子數據庫yarn db:reset - 重新應用最新的DB模式遷移文件yarn update-types - 從數據庫架構生成強大的數據模型在運行這些腳本之前,可選將APP_ENV設置為local (默認), dev , test或prod 。
對於需要為應用程序啟用的每個第三方身份提供商,您將需要獲得應用程序憑據,通常稱為客戶端ID/秘密。
http://localhost/auth/google/return回調URL創建OAuth 2.0客戶端GOOGLE_CLIENT_ID , GOOGLE_CLIENT_SECRET環境變量在./env/.env.*中找到了所需的每個環境。從那裡開始,訪問http://localhost:8080/auth/google (或在彈出窗口中打開它)將通過Google啟動登錄流程。
http://localhost/auth/facebook/return作為登錄流的回調URLFACEBOOK_APP_ID , FACEBOOK_APP_SECRET變量在env/.env.*文件中的每個環境中找到的文件。從那裡開始,訪問http://localhost:8080/auth/facebook (或在彈出窗口中打開它)將通過Facebook啟動登錄流程。
您可以從此處yarn deploy的Google Cloud Cli( gcloud )工具依賴於Google Cloud Cli(GCLOUD)工具。對於CI/CD工作流程,您可能需要這樣的Docker圖像。
gcloud auth login - 授權Google Cloud SDK(CLI)工具使用您的Google帳戶。
為您的應用程序創建一個新的GCP項目,其中包括用於生產example的ID,以及用於測試 / QA環境的example-test 。確保在此處的GCP項目的設置中啟用雲構建API和雲功能API。
在需要部署應用程序的同一區域中創建雲SQL數據庫實例。使用0.6 GB RAM的Cloud SQL的微實例,應該可以進行測試和流量較低的網站。
確保為目標部署環境正確設置GOOGLE_CLOUD_PROJECT , GOOGLE_CLOUD_REGION , PGDATABASE , PGUSER和其他環境變量(eg /env/.env + /env + /env/.env.prod ,用於生產)。
最後,通過運行來編譯和部署應用程序:
yarn build - 將應用程序編譯到.build文件夾中APP_ENV=<env> yarn db:migrate - 遷移數據庫(架構)到最新版本APP_ENV=<env> yarn deploy - 將應用程序部署到Google Cloud功能(GCF)其中<env>是目標環境,例如APP_ENV=prod yarn deploy 。
yarn set version latest - 最新版本的凹凸紗yarn upgrade-interactive - 更新node.js模塊(依賴項)yarn pnpify --sdk vscode - VSCODE中的更新打字稿,ESLINT和更漂亮的設置歡迎任何人和所有人做出貢獻。首先查看標記有幫助的開放問題列表。但是,如果您決定參與其中,請花點時間查看準則。
版權所有©2016-Present Kriasoft。此源代碼是根據許可證文件中的MIT許可證獲得許可的。
由Konstantin Tarkus(@koistya,博客)和貢獻者製成。