如何评价 angular2 模块系统
1个回答
展开全部
优点有:
1. 粒度更大的模块化机制。在有这种模块化机制之前,每个组件就必须声明自己所引用的组件、管道、服务等,写起来非常繁琐。
2. 能支持更好的动态加载机制。如果用过1大概还记得要在1中实现动态模块加载有多难,但是2中它已经变成了内置功能。动态模块加载可以加快启动速度,节省内存,但是又不用借助什么特殊技术,和传统写法几乎无差别。
3. 有利于复用。模块本身是一个自给自足的生态系统,这就意味着各种设计合理的基础模块可以直接从这个应用搬到另一个应用中,或者作为公共库进行复用,而不用做什么修改。
缺点有:
1. 最终发布前变化太大,对于从alpha阶段就开始用的那些早鸟来说会不容易适应,同时需要修改遗留代码。但是这些对于从rc5之后开始学的同学并不是问题。
2. 容易混淆。有些人并不能深刻理解js/ts自带的模块与c++ namespace或Java package之间的差异,因此以为自带的模块化系统就足够了,但事实上后者才是ng2模块的等价物。这种错误的理解就容易导致NgModule无用论。
1. 粒度更大的模块化机制。在有这种模块化机制之前,每个组件就必须声明自己所引用的组件、管道、服务等,写起来非常繁琐。
2. 能支持更好的动态加载机制。如果用过1大概还记得要在1中实现动态模块加载有多难,但是2中它已经变成了内置功能。动态模块加载可以加快启动速度,节省内存,但是又不用借助什么特殊技术,和传统写法几乎无差别。
3. 有利于复用。模块本身是一个自给自足的生态系统,这就意味着各种设计合理的基础模块可以直接从这个应用搬到另一个应用中,或者作为公共库进行复用,而不用做什么修改。
缺点有:
1. 最终发布前变化太大,对于从alpha阶段就开始用的那些早鸟来说会不容易适应,同时需要修改遗留代码。但是这些对于从rc5之后开始学的同学并不是问题。
2. 容易混淆。有些人并不能深刻理解js/ts自带的模块与c++ namespace或Java package之间的差异,因此以为自带的模块化系统就足够了,但事实上后者才是ng2模块的等价物。这种错误的理解就容易导致NgModule无用论。
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询