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

创建angular项目,angular环境搭建

创建angular项目,angular环境搭建角度项目怎么组织?下面这篇文章整理分享了五个管理棱角项目的实用技巧,希望对你有所帮助!随着新功能的发布,Weba

  创建angular项目,angular环境搭建

  角度项目怎么组织?下面这篇文章整理分享了五个管理棱角项目的实用技巧,希望对你有所帮助!

  随着新功能的发布,Web apps的体量越来越大。在公司DevOps的过程中,这种发布变更每天都在发生。【相关教程推荐:《angular教程》】

  在如此高速的发布周期中,代码很快就会变得笨拙。尤其是基于Javascript的项目,比如NextJS或者Angular。

  这里是我们管理Angular项目的五个最佳实践,以实现最大的可读性、可维护性和可扩展性。

  

1. 准守单一职责原则

  许多单个应用程序核心是具有臃肿的类的代码库。本质上,这些臃肿的程序很难维护。从某种意义上说,它们是如此脆弱,以至于改变一行代码就可能对整个程序产生灾难性的影响。单一责任原则可以防止这些问题。

  单一责任原则意味着一个组件有且只有一个功能。

  使用这种方法构建应用程序将会产生一个模块化的框架,在这个框架中,应用程序通过这些代码块串联起来。

  使用这种方法可以使程序更易于阅读和维护。还能很好地定位应用中特定功能。

  为了确保您的代码能够满足这一要求,您可以问自己一个问题:这段代码是做什么的?如果您的答案包含关键字and,那么您需要将代码重构为具有单一职责的代码。

  构建角度应用程序并扩展它们是一项持续的工作。在不断的实践中,使用单一责任的原则来组织你的项目会使你的应用程序变得干净、易读和易维护。

  

2. 绑定代码到模块中

  模块在角度上是单一原理的实现。在Angular中,每个模块代表一个独立的功能。

  Angular提供了几种类型的模块来指定如何对它们进行逻辑分组或组织。

  Core

  核心模块是一个NgModule,用于实例化应用程序和加载核心功能以供全局使用。

  因此,任何单例服务都应该在核心模块中实现。页眉、页脚或导航栏都是这种类型的模块。

  每个应用程序只有一个实例的所有服务(单例服务)都应该在核心模块中实现。例如认证服务或用户服务。

  Feature

  功能模块代表构建应用程序功能的代码。例如,在一个在线购物应用程序中,我们将拥有向购物车添加商品的功能和一个单独的支付模块。

  Shared

  共享模块由可以组合起来创建新功能的模块组成。例如,搜索功能可用于平台中的多种功能。

  以这种方式构建代码使得事情更容易定位,并且增加了代码可重用性的机会。

  

3. 组织 SCSS 文件

  如果不按照一般的结构,样式文件很快就会变得杂乱无章。模式7-1使用7个文件夹和1个文件的一般实践模式如下:

  App-项目的主文件夹

  Abstract-抽象部分,包含所有变量、混合和类似组件

  Core-包含整个网站的排版、重置和样板代码。

  Components-Styles包含为网站创建的所有组件,如按钮、标签和图案。

  Layout-包含定义网站布局所需的文件,如页眉和页脚。

  Pages-包含每个特定的页面样式

  Vendors-这个可选文件夹适用于项目的引导框架,比如bootstrap。

  在每个文件夹中创建一个新的all.scss文件,其中包含该特定文件夹的所有替换。

  

4. 将私有服务放到组件中

  许多服务被设计为在全球范围内运行。然后,在某些情况下,一个组件需要一个服务。传统的编码组件实践推荐单一责任原则。

  在这种方法中,服务和组件是作为单独的项目编写的。

  但是,考虑一下,如果你进入锅里,删除这些服务的组件,会发生什么?你最后得到的是死代码,只会让仓库更加混乱。在这种情况下,最佳实践是将服务放在组件内部。

  这样,维护组件和服务就更容易了。

  

5. 简化导入的 Angular 最佳实践

  嵌套文件结构本质上比所有代码文件都在一个目录中的平面文件系统更容易导航。

  但是,使用项目的方法,项目的文件结构可能会变得相当复杂。尽管这使得定位代码变得更加容易,但是在编写import语句时却是一个挑战。

  当目录结构开始超过三或四级时,import语句会变得非常长,难以阅读。

  为了解决这个问题,我们可以在tsconfig.json文件中配置路径的别名。在这个文件中,有一个名为compilerOptions的数组。这是您在应用程序中配置的路径别名。

  编译代码时,数组中定义的路径别名将被替换为真实路径。每个路径的值是一个包含实际路径和别名的键-值对对象。

  构建角度应用程序并扩展它们是一项持续的工作。

  有关编程的更多信息,请访问:编程视频!以上就是管理角项目的五个实用技巧(总结和分享)的详细内容。更多请关注我们的其他相关文章!



推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
author-avatar
supe丶r女人帮
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有