热门标签 | 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

 


推荐阅读
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 今日份分享:Flutter自定义之旋转木马
    今日份分享:Flutter自定义之旋转木马-先上图,带你回到童年时光:效果分析子布局按照圆形顺序放置且平分角度子布局旋转、支持手势滑动旋转、快速滑动抬手继续旋转、自动旋转支持X轴旋 ... [详细]
  • python3 logging
    python3logginghttps:docs.python.org3.5librarylogging.html,先3.5是因为我当前的python版本是3.5之所 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • iOS开启Google位置服务器和显示定位权限的方法
    本文介绍了在iOS开发中如何开启Google位置服务器和显示定位权限的方法,包括导入CoreLocation和MapKit库、在界面导入头文件和在info.plist文件中添加授权等步骤。同时还介绍了iOS11中NSLocationAlwaysAndWhenInUseUsageDescription的功能变化。阅读本文可以帮助开发者了解如何在iOS应用中使用Google位置服务器和处理定位权限相关的问题。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
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社区 版权所有