我们在这里得到的是一个相当大的Angular 2
应用程序,它主要是在 Angular 还很年轻时开发的,并且没有compiler-cli
类似的工作。完成后,我总是想到,在某个时候,我们将进行 tree-shaking 和 AoT 编译,我试图让它在一段时间内工作,但仍然没有成功。
问题是,每当我尝试应用任何rollup
可以在 www 上大量找到的例程时,我都会偶然发现一些东西……每次都是这样。
我认为这个构建与在 Web 上可以看到的其他构建不同的是项目布局——我们这里有一堆自己编写的外部Angular 2
npm 模块,它们将一些通用功能封装到最终项目中,这些应该包含在最终包中.
所以布局是:
1) 有多个npm
包含TypeScript
源文件的模块,并附有JavaScript
转换为es2015
格式的版本;
2)有一个应用程序有自己的模块,这些模块严重依赖从外部模块导入的npm
模块;
3)我要求不高——我只想:b) 为具有相同布局的生产构建实现 AoT 编译;
问题
每当我尝试使用最简单的rollup
模块示例时,我最终'createPlatformFactory' is not exported by node_modules\@angular\core\bundles\core.umd.js (imported by node_modules\@angular\platform-browser-dynamic\src\platform-browser-dynamic.js). For help fixing this error see https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module
都会偶然发现类似的情况:当我尝试将项目转换为JavaScript
然后将其捆绑rollup
甚至尝试通过rollup-plugin-typescript
.
我对此的假设是,即使自 RC6 以来的 Angular 源es2015
格式core.umd.js
不是 - 它的UMD
格式具有不同的导入/导出等。
那么,任何人都可以确认这是一个问题吗?另外,我们如何解决这个问题?(我真的尝试了所有我能想象到的解决问题的策略,但都没有奏效。)
希望有人可以帮助解决这个问题。