Angular中开发一个代码库

Angular中开发一个代码库

Angular 的复杂项目中,我们可以对其拆分出不同功能模块进行开发,但是对于大型项目,或者我们直接考虑拆成库,将一部分的模块合起来组成一个库,方便复用,比如我们熟悉的各种设计组件库,就是一堆模块的合集。

模块

对业务进行分析后,划分边界,类似于后端微服务,将前端业务聚合拆分成一个个模块,模块内部持有着业务相关的模型,服务和组件。

$ ng g m test

使用 cli 可以直接建立 Angular 模块

库是一个集合,比如组件库,就是一系列组件模块的集合,还有一个逻辑库

$ ng g library test

使用 cli 直接创建 Angular

需要注意的是,不论是模块还是库,都需要在 Angular 项目的内部,所以在进行拆分时,需要额外创建 Angular项目来开发库,开发完成后直接发布,项目中使用npm引入,将库进行打包后发布到npm` 上,或者直接从本地目录进行安装

$ npm i test

$ npm i 文件发布路径

在开发时,我们可以使用watch来进行自动热重载

$ ng b --watch

这样,项目中引入库后,再对库进行修改,实际项目也可以实时重载。

可能出现的问题

在使用本地npm源安装时,我们再库中定义的组件引用时会出现绑定错误的情况,组件也无法正常加载,只需要在项目的 angular.json 文件中,找到 project > project-name > architect > build > options,添加一项 preserveSymlinks: "true"

发布时间:2022-07-18
其他阅读

Unity控制台打印彩色日志

在 Unity 开发过程中,我们经常需要使用 Debug.Log 来输出调试信息。但是在繁杂的控制台信息中,一些重要的信息很容易就被忽略。使用彩色日志可以大幅提升Unity开发中的调试效率。

查看原文

C#中new和override的区别

在C#编程语言中,new 和 override 是两个重要的关键字,它们用于控制类成员方法的行为。在面向对象编程(OOP)中,理解这两个关键字的区别和用法,对于编写清晰、可维护和高效的代码至关重要。

查看原文

Angular 中跨分模块后路由复用问题

当我们的 Angular 应用越来越大后,就需要考虑使用模块或者直接使用库来将解体应用,使用时进来懒加载,加快访问速度。当跨分模块后,普通的路由复用策略就是失效,需要额外的解决方法。

查看原文

JSON是什么

在现代化 Web 应用开发中,广泛使用一种名为 JSON 的数据交换格式。JSON 是一种轻量级数据交换格式,在不同系统之间提供标准且高效的数据交换。

查看原文

WPF使用云母材质

在最新的Windows 11 OS中,微软为流畅设计(Fluent Design)带来了新的云母材质,云母材质一种不透明的动态效果,微软将其作为Windows 11应用窗体的默认材质。

查看原文