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,博客)和贡献者制成。