将未使用的类型添加到 Component 的指令 属性 中有什么后果?
Adding unused types into the directives property of Component has any consequences?
在 Angular2 的 Component 装饰器的指令 属性 中添加几个未使用的类型是否与添加正确的指令相同?
我的意思是,编译器是否足够聪明,可以在 JS 文件中输出完全相同的结果?
编辑:
我做了一个小测试。我将 COMMON_DIRECTIVES 和我自己的一些指令添加到一个没有使用所有指令的组件中。得到两个js并使用FileMerge进行比较。两者是平等的。但我会把它打开,也许有人要补充更多。
目前,编译器对这些 treeshaking 持保守态度——因此添加指令会将它们的代码添加到已部署的应用程序中,即使您不使用它们也是如此。这是因为 AngularDart 不能 100% 确定您不会动态使用这些组件。
我这里有一个更长的以工程为中心的答案:
https://gist.github.com/matanlurey/0fec1ac15a7a80c898870546123b70b3
tl;dr,正如 filiph 提到的,我们非常 保守。我们希望在 AngularDart 的未来版本中解决这个问题,但这可能是一个重大变化。
在 Angular2 的 Component 装饰器的指令 属性 中添加几个未使用的类型是否与添加正确的指令相同?
我的意思是,编译器是否足够聪明,可以在 JS 文件中输出完全相同的结果?
编辑: 我做了一个小测试。我将 COMMON_DIRECTIVES 和我自己的一些指令添加到一个没有使用所有指令的组件中。得到两个js并使用FileMerge进行比较。两者是平等的。但我会把它打开,也许有人要补充更多。
目前,编译器对这些 treeshaking 持保守态度——因此添加指令会将它们的代码添加到已部署的应用程序中,即使您不使用它们也是如此。这是因为 AngularDart 不能 100% 确定您不会动态使用这些组件。
我这里有一个更长的以工程为中心的答案:
https://gist.github.com/matanlurey/0fec1ac15a7a80c898870546123b70b3
tl;dr,正如 filiph 提到的,我们非常 保守。我们希望在 AngularDart 的未来版本中解决这个问题,但这可能是一个重大变化。