简介
generator-express-architect 是一个快速构建 Express 应用程序的 Yeoman 生成器。该包可以帮助开发者快速生成一套完整的 RESTful API 应用程序。每个 API 端点都有其自己的控制器和服务,它们都可以拥有自己的路由、验证和文档。
安装
使用以下命令安装 generator-express-architect:
npm install -g yo generator-express-architect
初始化项目
在命令行中进入项目目录,运行以下命令:
yo express-architect
然后,根据提示输入项目名称、描述、Git 仓库地址,包括一些自定义选项。
根据需要,也可以通过以下命令来生成一个基于 TypeScript 的 Express 应用:
yo express-architect:ts
这将生成一个 TypeScript 模板项目。
配置
在生成器运行期间会提示一些选项配置,包括:
- 选择数据库:用户可以选择使用 MongoDB、PostgreSQL 或 MySQL。
- 是否支持 WebSockets:如果需要使用 WebSocket 连接,可以选择开启此选项。
- 是否启用 HTTPS:如果需要启用 HTTPS,可以选择此选项。
这些选项可以后期修改,只需要修改 config 文件即可。
生成的目录结构
在生成器运行完成后,会生成如下目录结构:
-- -------------------- ---- ------- --- --- - --- ----------- - --- ------ - --- ------ - --- -------- --- ------ - --- ---------- - --- --------- - --- -------- - --- -------- - --- ------------- - --- ------------ --- -------- - --- ----------- --- ------ --- ------- - --- ------------ - --- ------------ - --- ---------- --- ---- --- ---- --- ------------ --- ---------- --- ------ --- ------ --- -------- --- ------------ --- -----------------展开代码
生成的目录结构包括以下主要部分:
/api
目录包含控制器、服务、模型和路由。/config
目录包含应用程序的配置和设置。/database
目录包含数据库迁移脚本。/public
目录是用来存放静态文件(如 CSS 和 JavaScript 文件)的。/scripts
目录包含初始化和重置数据库的脚本。/test
目录包含应用程序的测试代码。app.js
文件包含应用程序初始化的代码。index.js
文件是应用程序的入口点。
使用示例
创建一个 API 端点
在 /api/routes
目录中创建一个 JavaScript 文件,如 movies.js
,用于存放可以访问 /api/movies
端点的所有路由。在 movies.js
中,可以使用以下代码创建一个 Hello World API 端点:
const express = require('express'); const router = express.Router(); router.get('/', (req, res) => { res.send({ message: 'Hello World!' }); }); module.exports = router;
调用 API 端点
从浏览器或 HTTP 客户端应用程序(如 Postman)中访问 /api/movies
即可看到返回的 Hello World 消息。
安全验证
在 Express 应用程序中添加身份验证非常简单,只需要添加一个中间件即可。在 /api/routes/movies.js
文件中添加以下代码,用于要求用户进行必要的身份验证:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------ - ----------------- ----- ---- - ------------------------------ --------------- ------- ----- ---- -- - ---------- -------- ------ ------- --- --- -------------- - -------展开代码
这里使用了名为 auth
的中间件来进行身份验证。
更改数据库
默认情况下,generator-express-architect 会构建一个使用 MongoDB 作为数据存储的应用程序。但用户可以随时更改数据库设置。在 /config
目录中,可以找到所有数据库配置文件。在 env.js
文件中,则可以找到环境变量和配置选项。
例如,要将应用程序从 MongoDB 更改为 PostgreSQL,可以编辑 /config/postgresql.js
文件。在文件中,需要修改数据库的连接字符串、用户名和密码。在完成更改后,需要编辑 env.js
文件并将 DATABASE_TYPE
设置为“postgresql”。
定期任务
可以通过添加定期任务来自动执行一些操作,例如清理旧的日志文件。
以下是一个使用 Heroku Scheduler 和 Cron Job 的例子:
-- -------------------- ---- ------- -- - ----------------- - -------------- - ----- -- - -- --- -- ------------------ - ----- ------- - ------------------------ ----- --------------- - -------------------------------------- ----- --- - --- ------------------------- ------------------ ----- ----- -------------- ------------ ----------------- --- ------- -- ----------------------- - -- --- --展开代码
在 /scripts/cleanUpLogFiles.js
文件中,添加以下代码:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- -- - -------------- -------------- - -- -- - ----- --- - --------- ----- ----- - -------------------------- ------------------ -- - ----- ------- - --- ------ - ------------------------ ----- --------- - ------------------ - ---- - -- - -- - ---- -- ---------- - -- - -------------------- - --- --展开代码
这将在每天的固定时间清理七天前的日志文件。
结论
generator-express-architect 是一个功能强大、易用且可扩展的 npm 包。使用它,开发者可以快速构建出完整的 RESTful API 服务,并在需要时轻松添加更多特性。此外,该包还提供了详细且完整的文档,方便开发者学习和使用。如果你想要构建一个高效且易于维护的 Express 应用程序,generator-express-architect 将是一个不错的选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600556ef81e8991b448d3d06