是否可以避免在Angular 2中使用Javascript中的模板?

时间:2016-03-18 02:32:45

标签: angular

我目前正在使用AngularJS构建一个大型Web应用程序。我刚刚决定从Angular 1.5切换到Angular 2,因为我需要在变更检测方面进行一些性能改进。

似乎Angular 2中没有与ng-app等效的内容。在NG1中,我只是将我的HTML代码放入index.html文件中。这让我可以缩小它(比如模板),但也可以立即加载它。现在使用这种模块化的NG2方法,我似乎必须使用带有模板或templateURL属性的Component。 templateURL的问题在于它增加了一个显着的负载延迟(这对我网站上的任何子视图都不会有问题,但是我的主页面上的导航是一个问题,必须尽快提供),因为它需要浏览器顺序加载文件而不是并行加载(首先必须在开始加载模板之前加载并执行Javascript文件)。仅使用template-attribute的问题在于我无法缩小内容。

当然也有使用Browserify或Webpack的选项,但我想避免使用它们,因为它们增加了大量的复杂性,我实际上不希望我的所有javascript文件被组合。我会有100个入口点,我必须手动设置。

那么,有没有办法直接从index.html使用指令/组件?所以我可以像在Angular 1中那样做,我只是直接从index.html指定<ng-app>{{sampleData}}</ng-app>而不是先加载另一个模板文件?

1 个答案:

答案 0 :(得分:1)

https://github.com/ludohenin/gulp-inline-ng2-template中有一个gulp插件可用于此目的。它会将templateurl转换为模板。我在我的项目中使用它。 如果您看到该文档,还有一种缩小方法(使用预处理器功能)。我没有用过那个。