我正在使用nodejs和express建立一个网站。如何使页面中的分区动态化?翡翠是用来做的吗?如果不是怎么做的话?angularjs用于什么?请帮助我在谷歌搜索了很多,我无法明确它们的用法。
答案 0 :(得分:36)
Jade在服务器端上创建浏览器中使用的html。浏览器执行对Web服务器的请求,Web服务器执行Jade,这将生成将发送到浏览器的html。这个服务器端内容生成在过去的20年里非常普遍,但在构建富Internet应用程序时却有很多缺点。这主要与性能和客户端状态跟踪有关。
AngularJS是一个客户端 MVC / MVVM 类似框架,用于构建所谓的 Single Page Applications (SPA),它允许您拥有完整的用户界面流程,所有内容生成和状态跟踪将在客户端完成。它甚至允许您构建脱机应用程序。从开发人员的角度来看,这更像是构建一个桌面应用程序,其中客户端知道用户界面的状态。从视图的用户角度来看,网站将响应更顺畅,更快捷,因为UI都是在本地生成的。
注意:SPA 不意味着您的网站只能有一个页面。 这是一个技术术语,浏览器下载一个页面(〜/ index.html),其中包含完整或部分Web应用程序。用户在技术上永远不会离开此页面,但内容(页面)会在此占位符页面中进行动态交换。
向 SPA 提供数据的最常见方式是通过RESTful网络服务。 AngularJS为REST提供了builtin support。
一些开发人员将服务器端内容生成技术与AngularJS结合起来,但实际上并不需要这样做。
答案 1 :(得分:0)
Jade在服务器端和客户端都用作模板引擎。是的,它可以动态更新页面,您只需将jade模板编译为javascript函数(使用jade -c
或类似的东西)。
是的,您可以使用angular.js,但我认为没有必要在您的项目中使用两个模板引擎。建议坚持用玉,除非你知道你在做什么。