热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

angular6+ngzorro鹿途后台管理系统(二)项目结构规划

上一节我们已经搭建好项目的基本骨架,现在我们就来对项目的整体结构进行规划,项目结构规划每个人每个公司都有不同的方式,我们不去论好坏还是是否合理,只要你当前觉得它是最好的实现就好,不

 

上一节我们已经搭建好项目的基本骨架,现在我们就来对项目的整体结构进行规划,项目结构规划每个人每个公司都有不同的方式,我们不去论好坏还是是否合理,只要你当前觉得它是最好的实现就好,不过我还是建议去参考优秀项目的规划方式。

项目结构设计总原则:一切皆模块,鹿途项目的模块主要以功能划分,每个完整的功能点就是一个独立的模块,有自己独立的路由服务等,然后我们在把构建完成的子模块注入到主模块,如果不需要这个模块的功能,直接从主模块里把它移除,需要什么新功能就新开一个模块然后在注入到主模块。

我们先分析app目录下结构的规划:app目录下包含core、layout、routes、shared、styles五个部分;这五部门除styles以为都是以模块的方式呈现,生成模块的快捷命令是

ng g m ./ModuleName

如:ng g m ./core

下面我们来讨论每个模块的细节设计与此模块在项目中的职责描述:

core模块是项目中的一个公共资源池负责向其它模块提供帮助,给其它模块带来便利,鹿途项目会把二次封装的NG-ZORRO组件,项目通用的服务,管道,通用验证,以及一些公用方法存放在此模块中,至于模块里的内容如何存放就因人而异,我建议以功能类型划分放在不同的文件夹下。

layout模块是项目中的模版提供商,整个后台管理系统存在多种不同的呈现方式,鹿途系统主体是以上部的导航左边的菜单栏以及底部的版权栏的方式进行呈现,鹿途系统的登录部分又是以另一种截然不同的方式呈现,而后期的地图部分可能又会以区别于前两种形式风格进行呈现,以上呈现的方式对于项目来说就是不同的模版,我们的设计目标一直秉承着能省就省,于是就诞生了layout模块,layout模块下会存在多种不同风格的模版,项目中的所有呈现方式都由它提供。

routes模块是项目中的功能***也是项目的核心,它是项目中的所有模块的一个集中实现的场所,其它模块都是为它服务,我们将在这个模块下进行业务场景的复现和功能的开发。

shared模块是项目中的采购分发中心,它主要是负责将一些公共资源进行引入,然后再从统一的出口分发到项目中的其它部分。

styles模块是项目中的公共美容室,职责就不赘述了。

 

 

 

 

 

项目github地址:https://github.com/ZhouRenYou/ng-deerway
项目预览地址(非实时更新):https://zhourenyou.github.io/web-deerway/passport/login

 


推荐阅读
  • 本文探讨了一种统一的语义数据模型,旨在支持物联网、建筑及企业环境下的数据转换。该模型强调简洁性和可扩展性,以促进不同行业间的插件化和互操作性。对于智能硬件开发者而言,这一模型提供了重要的参考价值。 ... [详细]
  • 本文介绍了一个使用Spring框架和Quartz调度器实现每周定时调用Web服务获取数据的小项目。通过详细配置Spring XML文件,展示了如何设置定时任务以及解决可能遇到的自动注入问题。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • 本文介绍了如何将Spring属性占位符与Jersey的@Path和@ApplicationPath注解结合使用,以便在资源路径中动态解析属性值。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 说明Python教程正在编写中,欢迎大家加微信sinbam提供意见、建议、纠错、催更。drymail是一个邮件发送库,封装了Python的smtplib ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 2019年独角兽企业招聘Python工程师标准课程概览
    本文详细介绍了2019年独角兽企业在招聘Python工程师时的标准课程内容,包括Shell脚本中的逻辑判断、文件属性判断、if语句的特殊用法及case语句的应用。 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
author-avatar
1074017584_789ded
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有