爱学it学无止境

又名算法面试专题--竞赛命题人带你刷70+中高级题型

作为一名前端开发人员,我们开发的项目往往离不开后端的Api支持,我们需要与后端配合完成数据联调,数据存放等交互操作,这是单纯前端完成不了的事情,但是有没有什么方法可以让前端人员快速掌握写出Api和服务器打交道呢?

答案就是Node.js

Node.js

相信前端同学不少接触Node.js,允许在服务器端运行JavaScript代码,可以打破了前端和后端技术的界限,前端开发者也能够使用熟悉的JavaScript代码来编写后端服务,从而实现了从前端到后端的全栈开发能力

大家也多多少少会听到expressjskoa2等快速编写Api的框架,但这两个框架因为灵活,门槛低被受开发者喜爱,但是缺点是当您的项目越大,文件数量偏多的情况下,可能不太好管理,因为自由度很高,所以我不太考虑使用他们,更多的是在写Demo时,去使用它们

// 就像这样子,一个用koa2编写的简单Api就诞生了
// 导入Koa模块
const Koa = require('koa');

// 创建一个新的Koa应用实例
const app = new Koa();

// 定义一个路由处理器,返回"Hello, World!"
app.use(async ctx => {
    ctx.body = 'Hello, World!';
});

// 启动服务器,监听3000端口
app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

更多的选择

除了expresskoa框架,我们还能选择什么nodejs框架,答案有很多,比如比较火的nest.jsmidway.jsfastify.jsegg.js等框架

我们应该怎么选择一个适合我们的框架呢,这里就得先说一下我们的需求

  • 前端开发者能够更快上手编写Api
  • 框架学习成本较低

最后我们选择的egg.js这个框架,为什么选择它

  • 相比koa框架会有多一点的约束和结构,减低的学习成本
  • eggjs同样拥有高度的扩展性,它也可以直接使用koa的中间件
  • 面向复杂项目,也提供了性能优化,安全控制,分布式部署,日志管理等方案
  • 如果遇到问题在网上可查到的资料不少

快速入门Egg.js

打断一下,本文章主要讲重要的部分,一些小细节可能会被遗漏,如果您先完整学习Egg.js框架请移步(Egg.js官网)[www.eggjs.org/zh-CN/intro]

该文章不会讲得很详细,主要还是快速起步Api为主

快速搭建一个eggjs项目

npm init egg --type=simple

在创建项目的时候,这里有多个选择方向,我们这里选择simple,因为我们只要一个简单的模板

算法面试专题课(Java版),Google面试官带你高质量刷题-完整分享_开发者

接下来,根据提示,将项目作者,描述信息填写下即可

打开项目目录,执行npm i命令进行依赖安装(可能有点小久~)

推荐使用pnpm管理器,性能更好更加快的node包管理工具

npm run dev

当项目跑起来之后,您会看到控制台上有这么几行提示,告诉我们服务启动在http://127.0.0.1:7001

> egg@1.0.0 dev
> egg-bin dev

[egg-ts-helper] create typings\app\controller\index.d.ts (2ms)
[egg-ts-helper] create typings\config\index.d.ts (16ms)
[egg-ts-helper] create typings\config\plugin.d.ts (1ms)
[egg-ts-helper] create typings\app\index.d.ts (1ms)
2024-07-06 15:18:12,442 INFO 45472 [master] node version v20.15.0
2024-07-06 15:18:12,443 INFO 45472 [master] egg version 3.26.1
2024-07-06 15:18:14,985 INFO 45472 [master] agent_worker#1:44516 started (2540ms)
2024-07-06 15:18:18,280 INFO 45472 [master] egg started on http://127.0.0.1:7001 (5837ms)

我们直接用浏览器访问它即可