首页 > 其他分享 >Egg.js项目创建

Egg.js项目创建

时间:2025-01-15 16:13:55浏览次数:1  
标签:Egg 创建 app js 存放 用于 config 目录

一、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
  1. app

    • 这是项目开发的主目录,几乎所有的业务代码都写在这里面1。
  2. app/router.js

    • 用于配置URL路由规则。这个文件统一了所有的路由规则,使得路由规则逻辑不会散落在多个地方1。
  3. app/controller

    • 存放控制器文件。控制器负责解析用户的输入,处理后返回相应的结果。在RESTful接口中,控制器接受用户的参数,从数据库中查找内容返回给用户或者将用户的请求进行处理1。
  4. app/service

    • 用于编写业务逻辑层。虽然这是一个可选目录,但建议使用。Service层专门和数据打交道,负责请求数据和查询数据库等操作1。
  5. app/middleware

    • 存放中间件文件。中间件可以处理请求和响应,例如日志记录、权限验证等1。
  6. app/public

    • 用于放置静态资源,如图片、CSS、JavaScript等。虽然这是一个可选目录,但通常用于存放前端资源1。
  7. app/extend

    • 用于框架的扩展。可以在这个目录下存放一些在模板文件里需要使用的方法或者扩展框架的内置对象1。
  8. app/view

    • 用于存放模板文件,如ejs文件。虽然这是一个可选目录,但通常用于存放视图模板1。
  9. app/model

    • 用于放置领域模型。虽然这是一个可选目录,但通常由领域类相关插件约定,如egg-sequelize1。
  10. app/schedule

    • 用于定时任务。虽然这是一个可选目录,但可以用于执行一些需要定时执行的任务1。
  11. config

    • 用于存放配置文件。包括应用的配置信息、环境特定的配置以及插件配置等1。
  12. logs

    • 用于存放日志文件。框架在运行过程中产生的日志会存放在这个目录下1。
  13. node_modules

    • 存放项目的运行/开发依赖包。通过npm或yarn安装的依赖包都会放在这个目录下1。
  14. test

    • 用于存放测试文件。包括单元测试和集成测试等1。
  15. package.json

    • 项目管理文件,包含包管理文件和命令管理文件。用于描述项目的依赖、脚本等信息1。
  16. app.js‌和‌agent.js

    • 用于自定义启动时的初始化工作。这两个文件是可选的,可以根据项目需求进行自定义1。

请注意,Egg.js的目录结构可能会有所变化,具体取决于项目的需求和版本的不同。在实际项目中,可以根据官方文档和社区资源来了解和掌握最新的目录结构约定和规范。

标签:Egg,创建,app,js,存放,用于,config,目录
From: https://www.cnblogs.com/sisxxw/p/18673246

相关文章

  • JS的调用方式与执行顺序
    常见的使用方式(可以在HTML页面中的任意位置添加<script>标签):1.直接在<scripttype="module"></script>标签内写JS代码。例如:index.html中的内容为:<body><scripttype="module">letx=2;console.log(x);</script>&......
  • GaussDB如何创建修改数据库和数据表
    一、背景GaussDB是一款由华为开发的企业级分布式数据库,具有高性能、高可用、高可靠性等特点,广泛应用于各种业务场景。本指南将介绍如何在GaussDB中创建数据库和数据表,修改表结构,并添加约束。二、创建数据库和数据表创建数据库在GaussDB中创建数据库可以使用CREATEDATA......
  • vscode调试中launch.json文件配置
    {  //使用IntelliSense了解相关属性。  //悬停以查看现有属性的描述。  //欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387  "version":"0.2.0",  "configurations":[    {      "name":"(gdb)......
  • Docker实战案例:构建并部署一个Node.js Web应用
    在当今快速迭代的软件开发环境中,容器化技术以其轻量级、可移植性和高效资源利用等特性,成为了开发和运维团队不可或缺的工具。Docker作为容器技术的佼佼者,极大地简化了应用的打包、分发和部署流程。本文将通过一个完整的Node.jsWeb应用案例,展示如何使用Docker从代码编写到部......
  • JSP陇西文旅特色小镇网站q68nq--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着旅游业的快速发展,陇西地区作为具有丰富历史文化和自然景观的区域,亟需一个综合性的文旅特色小镇网站来推广其旅游资源,提升服务质量......
  • JSP流浪动物救助公益管理系统3gj1o程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景城市化进程中,流浪动物问题愈发突出,其生存与健康面临严峻挑战。为提升救助效率,促进流浪动物保护公益事业的健康发展,我们计划开发一个流......
  • JSP零食销售系统9y0w4(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题背景随着信息化时代的到来,零食行业也迎来了快速发展。消费者对于零食的需求日益多样化,零食销售系统在此背景下应运而生。本系统旨在提供一......
  • JS MutationObserver监听DOM元素改变
    JSMutationObserver监听DOM元素改变://目标容器constchatSection=document.querySelector('section.chat');if(!chatSection){console.error('未找到容器');}else{//解析详细数据的函数functionparseChatData(){console.log('解析到的......
  • Oracle创建dblink(实现跨数据库查询)纯干货
    介绍     创建dblink实现跨库查询,创建本地数据库对远端数据库的dblink后,就可以像操作本地数据库一样操作远端数据库,这是Oracle给我们提供一个功能,让我们的跨库查询变得非常简单便捷。使用1.查看用户是否有创建dblink的权限(一般管理员用户SYS都有权限)select*fro......
  • DevExpress WPF 中文教程:Grid - 如何创建列并将其绑定到数据属性?
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......