我的理解是AngularJS包括Angular2是客户端框架,而Node.JS是服务器端平台。他们不应该交叉。但是我发现的所有Angular2教程都使用Node / NPM。那是为什么?
答案 0 :(得分:4)
因为npm是用JavaScript编写的包的包管理器,并且JavaScript可以在客户端和服务器端运行。换句话说,前端和后端应用程序都可以从包中受益。许多开发工具也使用node作为底层进程(例如Jest-cli)。
答案 1 :(得分:0)
我建议你只在客户端使用angular2。在通过常规服务器端代码处理视图容器时,angular2的性能确实很好。在NodeJS方面,我建议使用es6功能。这彻底改变了你不仅可以编码,还可以改进性能。
答案 2 :(得分:0)
您看到大多数使用npm的教程的原因是因为他们使用TypeScript或使用Node转换为ES5或构建项目的构建工具。 但是,您仍然可以使用Angular2的sfx版本(自执行包)并使用ES5语法构建Angular2应用程序,而无需使用node或npm。这是一篇博客文章,展示了如何做到这一点 http://blog.thoughtram.io/angular/2015/05/09/writing-angular-2-code-in-es5.html
答案 3 :(得分:0)
Angular2是一个前端框架,但是可以通过NPM获得许多有助于构建Angular2应用程序的工具。
如果您想要一个专门针对前端开发的软件包管理器,我建议使用JSPM。它支持各种格式的前端模块(即AMD,CommonJS,UMD),开箱即用,并可用作连接/缩小应用程序代码的构建工具。
您还需要NPM用于许多其他实用程序,并且您需要一台后端服务器进行测试(我建议使用实时服务器)。
就后端而言。其中一个Angular2开发团队正致力于支持JS的同构渲染的Node / Express扩展。简而言之,它预先在服务器上呈现视图,以便用户可以在应用程序在后台加载时在浏览器中与其进行交互。启动功能齐全的SPA的开始时间仍然很慢(相对),但感知速度将是即时的。