通过nodejs快速创建server,方便本地的接口调试。
通过snippets创建代码片段,配置到vscode中,快速调试。
基于http方式
创建 http server
const http = require("http");
const server = http.createServer((req, res) => {
if (req.url == "/login") {
if (req.method == "POST") {
res.end("login page");
} else {
res.end("login method error");
}
} else {
res.end("node http");
}
});
server.listen(3000, () => {
console.log("server is runing");
});
将以上代码粘贴到snippet 中,
打开编辑器>文件>首选项>用户代码片段
选择js代码片段
推荐一个代码片段的生产网站 snippets
snippets语法
- prefix :代码片段名字,即输入此名字就可以调用代码片段。
- body :这个是代码段的主体.需要编写的代码放在这里,
$1:生成代码后光标的初始位置。$2:生成代码后光标的第二个位置,按tab键可进行快速切换,还可4,$5.....- ${1,字符} :生成代码后光标的初始位置(其中1表示光标开始的序号,字符表示生成代码后光标会直接选中字符。)
- description :代码段描述,输入名字后编辑器显示的提示信息。
基于express方式
express的使用过程有两种方式:
- 方式一:通过express提供的脚手架,直接创建一个应用的骨架;
- 方式二:从零搭建自己的express应用结构;
- 方式一:安装express-generator
- 方式二:从零搭建自己的express应用结构;
Express安装
安装脚手架
npm install -g express-generator
创建项目
express express-demo
安装依赖
npm install
启动项目
node bin/www
基于express的方式创建server
const express = require("express");
const app = express();
const homeRouter = express.Router();
homeRouter.post("/detail", (req, res, next) => {
res.json({
code: 200,
msg: "detail page",
data: [
{
title: "manger",
name: "peyton",
},
],
});
});
app.use("/home", homeRouter);
app.listen(3000, () => {
console.log("server is runing");
});
这里用一个 snippets 的语法
const ${1:home}Router = express.Router();
基于koa方式
跟之前一样,创建 koa 的app对象,并且默认创建 homeRouter的路由
const app = new Koa();
const homeRouters = new KoaRouter({ prefix: "/home" });
homeRouters.get("/detail", (ctx, next) => {
ctx.body = {
code: 200,
msg: "detail page",
data: [
{
title: "manger",
name: "peyton",
},
],
};
});
app.use(homeRouters.routes());
app.use(homeRouters.allowedMethods());
app.listen(3000, () => {
console.log("server is running");
});
总结
express 与 koa的对比
-
中间件处理:Express使用基于回调函数的中间件处理机制,而Koa使用基于异步函数(async/await)的中间件处理机制。Koa的中间件机制更加简洁和直观,利用async/await语法可以更容易地编写和管理异步代码。
-
异常处理:Express需要手动处理错误和异常,而Koa内置了对错误的处理机制,可以自动捕获和处理错误。这使得在Koa中编写错误处理逻辑更加方便和简单。
-
控制权:Koa在设计上更加注重开发者对于请求和响应的控制权。它提供了更细粒度的控制,可以更灵活地处理请求、响应和中间件的执行顺序。
-
Async/Await支持:Koa天生支持async/await语法,使得处理异步操作更加简洁和直观。而在Express中使用async/await需要借助其他库或自定义处理。
-
社区生态:由于历史悠久,Express拥有庞大的社区和丰富的生态系统,有大量的第三方中间件和插件可供使用。Koa相对较新,生态系统相对较小,但也在不断发展壮大。
总体而言,Express是一个成熟、稳定且广泛使用的框架,适用于构建各种类型的Web应用。而Koa则更加注重开发者体验和灵活性,适合那些喜欢使用新特性和更细粒度控制的开发者。并且 Koa的核心代码只有1600+行,是一个更加轻量级的框架。