Egg.js入门:快速搭建与基础操作指南
Egg.js 是一个基于 Node.js 的高效、易用的全栈框架,它构建于 Express 和 Koa 之上,为开发者提供了一种快速搭建现代 Web 应用的方式。Egg.js 的设计旨在简化开发流程,提供强大的功能和出色的性能,同时保持代码的简洁和可维护性。
环境搭建Mac/Linux环境搭建
-
安装Node.js:首先,确保已经安装了
nvm
(Node Version Manager),可以通过在终端中输入nvm install stable
来下载并安装最新版本的Node.js。安装完成后,使用nvm use
切换到指定版本。 - 安装依赖:通过
yarn
(或npm
)安装项目所需依赖。全局安装yarn
:npm install --global yarn
,然后在项目目录中执行yarn add project-name
来安装和管理依赖。
Windows环境搭建
-
安装Node.js:同样使用
nvm
进行版本管理,执行nvm install stable
来安装最新版本。 - 初始化项目:在命令提示符中输入
yarn init -y
来生成package.json
文件,这是项目的基础配置文件。
项目初始化
使用 egg-cli
创建一个新项目:
npx egg new your-project-name
进入项目目录并初始化依赖:
cd your-project-name
yarn install
项目结构解读
Egg.js 项目结构通常包含 app
、config
、lib
、test
等目录。在 app
目录中,main.js
是应用的入口,controllers
存放控制器,routes
定义路由;config
用于配置文件;lib
包含公共代码;test
包含测试代码。
运行与调试
启动应用:
yarn dev
使用 Ctrl+C
停止服务。
什么是控制器
在 Egg.js 中,控制器(Controller)是处理 HTTP 请求的主要组件。它通常包含一系列方法来响应不同的 HTTP 方法(GET, POST, PUT, DELETE 等)以及 URL 路径。
建立路由
在 api/controller/User.js
文件中,定义一个简单的控制器:
// api/controller/User.js
module.exports = app => {
const { ctx } = app;
ctx.helper = {
sayHello: (username) => {
return `Hello, ${username}`;
}
};
ctx.routes = [
{
method: 'GET',
path: '/hello/:username',
handler: 'User.sayHello'
}
];
};
在 app.js
中注册路由:
// app.js
app.use(app.middleware.routes());
app.use(app.middleware.allowedMethods());
控制器实例操作
启动应用并访问 http://localhost:7001/hello/world
,应返回 Hello, world
。
模板引擎介绍
Egg.js 支持多种模板引擎,如 EJS、Pug、Nunjucks 以及更多。这里以 EJS 为例。
安装 EJS 依赖
yarn add ejs
创建视图
在 views/index.ejs
中创建一个简单的视图:
<!DOCTYPE html>
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome, <%= username %>!</h1>
</body>
</html>
配置视图引擎
在 app.js
中配置视图引擎:
// app.js
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
访问 http://localhost:7001/hello/world
,视图将渲染并显示 Hello, world!
。
错误管理
在 app.js
中配置错误处理器:
// app.js
app.use(app.middleware.errorHandler());
编写错误处理逻辑:
// app.js
app.onError((err, ctx) => {
console.error(`An error occurred: ${err.stack}`);
});
日志记录
使用 egg-logger
库来记录日志:
yarn add egg-logger
在 app.js
中配置日志:
// app.js
app.use(app.middleware.logger());
访问应用并执行操作,查看控制台输出的日志信息。
通过遵循以上指南,您可以快速地在 Egg.js 框架下搭建一个基础的 Web 应用,同时掌握关键的操作技巧,从而提升开发效率和应用质量。
共同学习,写下你的评论
评论加载中...
作者其他优质文章