Angular13 如何创建一个模拟后端mockServe

        在前端和后端的同时开发中,从事应用程序的 Angular 开发人员必须能够与虚假后端进行交互,以便通过模拟后端数据来创建 UI。其中我们就会使用 json-server 和 nodemon 的npm 包来帮助我们完成这个过程。

  • json-server 是一个提供完整假 REST API 的包,无需编码,可以毫不费力地进行设置。
  • Nodemon 是一种工具,可在检测到目录中的文件更改时自动重新启动 Node 应用程序,从而帮助开发基于Node.js的应用程序。

下面将简单介绍其步骤:

1. 创建新项目

使用 Angular CLI 工具命令创建一个全新的 Angular 项目:

ng new mock-server

        这将设置一个名为 mock-server 的 Angular 项目,其中包含如下所示package.json。示例中使用的 Angular 版本是 v13,但是它适用于每个版本的 Angular 2+。

2. 安装 npm 包
npm install json-server --save-dev
npm install nodemon --save-dev

        上述命令将最新版本的 json-server 和 nodemon 安装为 dev 依赖项,并将其添加到您的 package.json 文件中。

3. 在 JSON 文件中添加模拟数据

        按服务器名称创建文件夹。名称可以是任何内容,具体取决于您的选择。在服务器文件夹 data/users/json 中创建另一个文件夹结构,并创建一个 getUsers.json 文件,其中包含 JSON 响应形式的模拟用户列表。 创建上述文件夹结构是为了确保在添加多个虚假 API JSON 响应时保持一致性,并且它们可能属于应用中的单独功能模块。文件夹结构是基于功能模块创建的,就像我们在 Angular 应用程序中为功能模块所做的那样。

4. 添加index.js文件

        要导出 server.js 文件中的 JSON 数据,请在 server/data/users 文件夹中创建一个 index.js 文件,该文件将模拟 JSON 响应(用户列表)导出为要在 server.js 文件中使用的模块。module.exports 是一个特殊对象,默认情况下包含在 Node.js 应用程序的每个 JavaScript 文件中。模块是表示当前模块的变量,导出是将作为模块公开的对象。

5. 添加一个 server.js 文件以将所有内容插入在一起

        创建一个 server.js 文件,其中包含使用具有以下配置的Node.js设置 json-server 的配置:

        上述节点服务器在端口号 3000 上运行。它侦听端点 /api/users 上的请求,以返回 http://localhost:3000/api/users 上的用户列表

6. 在 package.json 中添加脚本

        在server.js文件中完成服务器配置后,在package.json中创建一个脚本,如下所示:

"mock:server": "nodemon server/server.js --ext js,ts,json,html"

        在命令行上添加 npm run mock:server,以查看服务器运行,并显示控制台消息“JSON Server running at port 3000”。 上述脚本在监视模式下运行,并侦听对 *.js、*.ts、*.json 和 *.html 类型的文件的任何更改,并自动重新启动节点服务器。

7. 进入浏览器并输入 URL

        瞧!我们的模拟服务器已设置好并准备好进行测试。转到浏览器并点击地址栏中的 http://localhost:3000/api/users。您将能够在浏览器上看到用户列表。

        同样,您可以为 POST、PUT、PATCH 和 DELETE 操作设置模拟端点。

8. 在 Angular 应用程序 UI 上测试它

        在app.module.ts中注入 HttpClientModule,并在app.component.ts中注入 HttpClient 作为依赖注入。 然后,在 ngOnInit()生命周期钩子中,从模拟 API 端点 http://localhost:3000/api/users 获取用户列表,并在控制台中打印数据或将其绑定到 class 属性中以在 UI 中查看。

 

9. 直接上大大的文章链接

https://medium.com/geekculture/setting-up-a-mock-backend-with-angular-13-applications-26a21788f7daicon-default.png?t=N7T8https://medium.com/geekculture/setting-up-a-mock-backend-with-angular-13-applications-26a21788f7da

https://github.com/akashkriplani/mock-servericon-default.png?t=N7T8https://github.com/akashkriplani/mock-server

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值