我已经读过几次有关构建生产用Angular应用程序的文章:https://blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/
我正在为这部分苦苦挣扎:
rollup负责捆绑我们的应用程序,并在此过程中进行摇树。 TypeScript支持ES2015模块,这意味着我们可以直接在非编译应用上应用摇树。 Rollup的TypeScript插件进一步简化了该操作,该插件使我们能够将翻译作为捆绑的一部分进行。如果我们的应用程序的依赖项也作为TypeScript分发,那么这将非常有用。但是,Angular作为ES5和ES2015分发,而RxJS作为ES5和ES2015分发(在rxjs-es软件包中)。 由于我们不能直接在应用程序的原始TypeScript文件上应用摇树,因此我们首先需要将其转换为ES2015,然后使用汇总创建ES2015捆绑包,最后将其转换为ES5。 / p>
关于以下问题:
如果我们的应用程序的依赖项也作为TypeScript分发,则效果很好。但是,Angular作为ES5和ES2015分发,而RxJS作为ES5和ES2015分发(在rxjs-es软件包中)。
为什么RxJ和Angular在ES5和ES2015中分布的事实使它们不可摇树?