单页 Web 应用开发:Grails 与 AngularJS 的完美结合
1. 单页应用(SPA)的魅力
单页应用(SPA)如 Gmail 已成为现代 Web 应用开发的黄金标准。它能提供媲美桌面 GUI 应用的丰富体验,且借助无处不在的浏览器,用户无论身处何地、使用何种设备,都能轻松访问。SPA 基于单页,按需刷新部分屏幕,响应速度快,视觉效果佳。若要为客户端带来这种丰富体验,就需管理好 JavaScript、CSS 和 HTML 资源,而 Grails 2 在这方面有显著改进。
2. 重温 Grails 网络资源管理
SPA 对 JavaScript 依赖度高,为实现无缝页面更新和良好的用户体验,背后需有大量事件处理。在 Grails 1 时代开发 SPA,需引入大量 JavaScript 库。Grails 2 引入资源插件,默认随所有 Grails 2 应用提供,旨在解决影响 SPA 的几个重要挑战:
- 轻松引入 CSS/JavaScript 库及其依赖项。
- 以高效性能方式将 JavaScript 资源导入页面。
- 压缩和打包 JavaScript 与 CSS 资源,优化生产部署。
- 无缝处理静态资源(如从 CDN 提供的 JavaScript 库)。
- 为资源生成提供管道,让其他资源感知插件参与。
- 规范插件向应用暴露自身资源的方式。
2.1 定义资源
在 Grails 资源管理体系中,不再直接在页面引用 CSS/JavaScript 文件,而是在/grails-app/conf/ApplicationResources.groovy