Angular2:它很慢吗?
Angular2: Is it slow?
刚刚看了一下 angular 团队发布的最后一个 angular 版本。
Angular2 已经发布,他们已经发布了他们的新网页 https://angular.io。
那里有一个 5 分钟的快速入门项目,可以快速显示新语法以及执行新 angular 应用程序所必须使用的内容。
我刚刚完成了所有步骤以使其正常工作,但加载时间为 4.93 秒。
我只是想知道,angular 2 有那么慢吗?或者我错过了一些步骤。
这是我的代码
// app.es6
import { Component, Template, bootstrap } from "angular2/angular2";
// Annotation section
@Component({
selector: "my-app"
})
@Template({
inline: "<h1>Hello {{ name }}</h1>"
})
// Component controller
class MyAppComponent {
constructor() {
this.name = "Alex!";
}
}
bootstrap(MyAppComponent);
和index.html
<!-- index.html -->
<html>
<head>
<title>Angular 2 Quickstart</title>
<script src="dist/es6-shim.js"></script>
</head>
<body>
<!-- The app component created in app.js -->
<my-app></my-app>
<script>
// Rewrite the paths to load the files
System.paths = {
'angular2/*':'angular2/*.js', // Angular
'rtts_assert/*': 'rtts_assert/*.js', //Runtime assertions
'app': 'app.js' // The my-app component
};
// Kick off the application
System.import('app');
</script>
</body>
</html>
- 您是 运行 RTTS(运行-time 类型的系统检查)这对开发来说很好,但对生产来说很慢
- 我们没有将所有文件连接成单个文件以便快速加载。
- 我们仍然有缓慢的变化检测,因为快速变化检测在 Dart 中还没有工作,我们希望保持一致。
请参阅 https://github.com/djsmith42/angular2_calendar 了解如何快速达到 运行。
如果您按照快速入门教程逐行学习最新版本的 alpha27,它会非常慢,因为 System.js 和 angular2.min.js 文件需要很长时间才能加载。如果您可以使用我们自己的服务器来托管它们,那就更好了。此外,从您的代码来看,您似乎使用的是 pre-alpha20 代码库。升级到 alpha27,速度快多了。
是的,使用 angular2 写的页面很慢。
我并不是说 angular2 代码很慢(我不敢),只是说您可以使用 angular 编写的最简单的页面将在 5 秒或更长时间内加载。有很多文件需要加载。
确实,您可以通过合并文件来加快速度,从而减少 http 请求,并注意不要加载您不使用的内容,但它永远不会像简单的 html + js 页面那样快。
不过请务必记住,angular 是为单页应用程序设计的。所有依赖项在单个索引文件中加载一次,从那时起,angular 路由允许您导航到不同的 "pages",它们实际上只是模板文件。
换句话说,一旦大笔的前期工作完成,它就会非常快,最重要的是,非常有效率。
刚刚看了一下 angular 团队发布的最后一个 angular 版本。 Angular2 已经发布,他们已经发布了他们的新网页 https://angular.io。
那里有一个 5 分钟的快速入门项目,可以快速显示新语法以及执行新 angular 应用程序所必须使用的内容。
我刚刚完成了所有步骤以使其正常工作,但加载时间为 4.93 秒。
我只是想知道,angular 2 有那么慢吗?或者我错过了一些步骤。
这是我的代码
// app.es6
import { Component, Template, bootstrap } from "angular2/angular2";
// Annotation section
@Component({
selector: "my-app"
})
@Template({
inline: "<h1>Hello {{ name }}</h1>"
})
// Component controller
class MyAppComponent {
constructor() {
this.name = "Alex!";
}
}
bootstrap(MyAppComponent);
和index.html
<!-- index.html -->
<html>
<head>
<title>Angular 2 Quickstart</title>
<script src="dist/es6-shim.js"></script>
</head>
<body>
<!-- The app component created in app.js -->
<my-app></my-app>
<script>
// Rewrite the paths to load the files
System.paths = {
'angular2/*':'angular2/*.js', // Angular
'rtts_assert/*': 'rtts_assert/*.js', //Runtime assertions
'app': 'app.js' // The my-app component
};
// Kick off the application
System.import('app');
</script>
</body>
</html>
- 您是 运行 RTTS(运行-time 类型的系统检查)这对开发来说很好,但对生产来说很慢
- 我们没有将所有文件连接成单个文件以便快速加载。
- 我们仍然有缓慢的变化检测,因为快速变化检测在 Dart 中还没有工作,我们希望保持一致。
请参阅 https://github.com/djsmith42/angular2_calendar 了解如何快速达到 运行。
如果您按照快速入门教程逐行学习最新版本的 alpha27,它会非常慢,因为 System.js 和 angular2.min.js 文件需要很长时间才能加载。如果您可以使用我们自己的服务器来托管它们,那就更好了。此外,从您的代码来看,您似乎使用的是 pre-alpha20 代码库。升级到 alpha27,速度快多了。
是的,使用 angular2 写的页面很慢。
我并不是说 angular2 代码很慢(我不敢),只是说您可以使用 angular 编写的最简单的页面将在 5 秒或更长时间内加载。有很多文件需要加载。 确实,您可以通过合并文件来加快速度,从而减少 http 请求,并注意不要加载您不使用的内容,但它永远不会像简单的 html + js 页面那样快。
不过请务必记住,angular 是为单页应用程序设计的。所有依赖项在单个索引文件中加载一次,从那时起,angular 路由允许您导航到不同的 "pages",它们实际上只是模板文件。
换句话说,一旦大笔的前期工作完成,它就会非常快,最重要的是,非常有效率。