【发布时间】:2015-03-29 17:38:25
【问题描述】:
我正在使用 Grails 2.4.4 和 AngularJS 1.3.15 创建一个简单的应用程序。为了使模板与 Grails 一起使用,我使用了 AngularJS Template Asset-Pipeline Plugin 2.0.7。
我的第一个原型没有使用来自 ngRoute 的任何路由逻辑。现在我想提取部分不断增长的应用程序并将它们放在单独的模板中。这几乎奏效了,但我的图像有问题。以前我使用这样的结构来加载图像作为资产:
<img src="${assetPath(src: 'image.png')}">
这确实有效,因为整个应用程序是一个 .gsp 页面。将代码提取到模板中不再进行此处理,并且无法再加载图像。
我目前的解决方法是:
<img src="../assets/image.png">
显然这种技术有一些缺点。使用相对路径对资产位置进行硬编码可能非常脆弱。我是否错过了一些可以帮助我将 AngularJS 与 Asset Pipeline 合并的好功能或命令?
【问题讨论】:
-
IMO 停止服务器 和 客户端模板。选一个。如果您使用 Angular,请尝试将其与您的 Web 服务器断开连接,就像 Android 或 iOS 客户端一样。您现在拥有一个 API 服务器和一个 Angular 应用程序。它会让你的生活变得更轻松。可能不是您想听到的,但在开始使用 Angular 时,双重模板非常普遍。
-
assetPath 调用是服务器模板的唯一遗物。其他一切都已经是客户端。我只是想找到一种可移植的方式来创建资产链接。
-
assetPath 会根据环境变化吗?你愿意接受纯 Angular 解决方案吗?
标签: angularjs grails asset-pipeline