相关文章基于阿里egg框架搭建博客(一)——开发准备基于阿里egg框架搭建博客(二)——HelloWorld基于阿里egg框架搭建博客(三)——注册登录基于阿里egg框架搭建博客(四)——权限控制基于阿里egg框架搭建博客(五)——置顶导航栏基于阿里egg框架搭建博客(六)——浏览和发布文章基于阿里egg框架搭建博客(七)——编辑文章githttps://github.com/ZzzSimon/e...喜欢就点个赞吧!什么是egg.js简单来说就是一个基于nodejs和koa的WEB框架。官方介绍:https://eggjs.org/zh-cn/intro...环境准备安装nodejs环境,下载地址:https://nodejs.org/en/download/安装脚手架,开发在此基础,具体执行如下命令:$npmiegg-init-g$egg-initegg-blog--type=simple$cdegg-blog$npmi非脚手架(推荐初学者使用)如果你是初学者,建议自己创建所有目录,熟悉Egg官方约定的规则。官方demo:https://eggjs.org/zh-cn/intro...Egg脚手架坚持“约定优于配置”,按照一套统一的约定开发应用。在团队内部使用这种方法可以减少开发人员的工作量。学习成本,开发者不再是“钉子户”,可以流动。没有一个约定好的团队,沟通成本非常高。比如有的人会按照目录来划分栈,有的人会按照目录来划分函数。如果开发人员认知不一致,就很容易出错。正如Egg官方所说,脚手架是对应用目录的规范化展示,我们在此基础上进行开发可以省去很多精力。执行以上命令后,我们可以看到如下目录结构:egg-project├──package.json├──app.js(可选)├──agent.js(可选)├──app|├──router.js│├──控制器│|└──home.js│├──服务(可选)│|└──user.js│├──中间件(可选)│|└──response_time.js│├──schedule(optional)│|└──my_task.js│├──public(可选)│|└──reset.css│├──视图(可选)│|└──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(可选)└──测试├──中间件|└──response_time.test.js└──controller└──home.test.js如上,框架约定的目录:app/router.js用于配置URL路由规则,详见Router。app/controller/**用于解析用户输入,处理后返回相应的结果,详见Controller。app/service/**用于编写业务逻辑层,可选,推荐,详见Service。app/middleware/**用于编写中间件,可选,详见Middleware。app/public/**用于放置静态资源,可选,详见内置插件egg-static。app/extend/**用于框架扩展,可选,详见框架扩展。config/config.{env}.js用于编写配置文件,详见配置。config/plugin.js用于配置需要加载的插件,详见Plugins。test/**用于单元测试,详见单元测试。app.js和agent.js用于自定义启动时的初始化工作,可选,详见启动自定义。agent.js的作用参见Agent机制。内置插件约定的目录:app/public/**用于放置静态资源,可选,详见内置插件egg-static。app/schedule/**用于定时任务,可选,详见定时任务。如果需要自定义自己的目录规范,参见LoaderAPIapp/view/**用于放置模板文件,可选,由模板插件约定,详见模板渲染。app/model/**用于放置领域模型,可选,领域相关插件约定,如egg-sequelize。如果最后觉得有用,请给作者点个赞吧!谢谢你!
