一、Egg.js概叙 Egg.js是一个基于Koa的企业级Web应用框架,由阿里巴巴团队开源,旨在通过约束和规范来降低开发和维护成本,它继承了Koa的高性能优点,并加入了一些约束与开发规范,以规避Koa框架本身开发自由度过高的问题2。它适用于企业级应用开发,提供了丰富的插件和中间件,涵盖缓存、安全、认证、路由等多个方面,可以有效减少重复性编程,提高开发效率。
二、项目创建 运行以下命令
npm i egg-init -g //下载Egg的脚手架
egg-init myEggApp --type=simple //通过脚手架构建项目
npm install //下载项目相关依赖
npm run dev //运行项目
以下是项目的目录结构
egg-project(项目名)
├── package.json
├── app.js (可选)
├── agent.js (可选)
├── app
| ├── router.js
│ ├── controller
│ | └── home.js
│ ├── service (可选)
│ | └── user.js
│ ├── middleware (可选)
│ | └── response_time.js
│ ├── schedule (可选)
│ | └── my_task.js
│ ├── public (可选)
│ | └── reset.css
│ ├── view (可选)
│ | └── home.tpl
│ └── extend (可选)
│ ├── helper.js (可选)
│ ├── request.js (可选)
│ ├── response.js (可选)
│ ├── context.js (可选)
│ ├── application.js (可选)
│ └── agent.js (可选)
├── config
| ├── plugin.js
| ├── config.default.js
│ ├── config.prod.js
| ├── config.test.js (可选)
| ├── config.local.js (可选)
| └── config.unittest.js (可选)
└── test
├── middleware
| └── response_time.test.js
└── controller
└── home.test.js
-
app:
- 这是项目开发的主目录,几乎所有的业务代码都写在这里面1。
-
app/router.js:
- 用于配置URL路由规则。这个文件统一了所有的路由规则,使得路由规则逻辑不会散落在多个地方1。
-
app/controller:
- 存放控制器文件。控制器负责解析用户的输入,处理后返回相应的结果。在RESTful接口中,控制器接受用户的参数,从数据库中查找内容返回给用户或者将用户的请求进行处理1。
-
app/service:
- 用于编写业务逻辑层。虽然这是一个可选目录,但建议使用。Service层专门和数据打交道,负责请求数据和查询数据库等操作1。
-
app/middleware:
- 存放中间件文件。中间件可以处理请求和响应,例如日志记录、权限验证等1。
-
app/public:
- 用于放置静态资源,如图片、CSS、JavaScript等。虽然这是一个可选目录,但通常用于存放前端资源1。
-
app/extend:
- 用于框架的扩展。可以在这个目录下存放一些在模板文件里需要使用的方法或者扩展框架的内置对象1。
-
app/view:
- 用于存放模板文件,如ejs文件。虽然这是一个可选目录,但通常用于存放视图模板1。
-
app/model:
- 用于放置领域模型。虽然这是一个可选目录,但通常由领域类相关插件约定,如egg-sequelize1。
-
app/schedule:
- 用于定时任务。虽然这是一个可选目录,但可以用于执行一些需要定时执行的任务1。
-
config:
- 用于存放配置文件。包括应用的配置信息、环境特定的配置以及插件配置等1。
-
logs:
- 用于存放日志文件。框架在运行过程中产生的日志会存放在这个目录下1。
-
node_modules:
- 存放项目的运行/开发依赖包。通过npm或yarn安装的依赖包都会放在这个目录下1。
-
test:
- 用于存放测试文件。包括单元测试和集成测试等1。
-
package.json:
- 项目管理文件,包含包管理文件和命令管理文件。用于描述项目的依赖、脚本等信息1。
-
app.js和agent.js:
- 用于自定义启动时的初始化工作。这两个文件是可选的,可以根据项目需求进行自定义1。
请注意,Egg.js的目录结构可能会有所变化,具体取决于项目的需求和版本的不同。在实际项目中,可以根据官方文档和社区资源来了解和掌握最新的目录结构约定和规范。
标签:Egg,创建,app,js,存放,用于,config,目录 From: https://www.cnblogs.com/sisxxw/p/18673246