我正在使用Rails 4.2.1
, Bower
, angular-rails-templates
gem 和ui-router-extras
.
使用 bower安装ui-router-extras
并将其包含在我application.js
的 with:require ct-ui-router-extras
文件中后,我收到以下错误:
Sprockets::FileNotFound - couldn't find file 'ct-ui-router-extras'
经过一番玩弄后,我发现如果我将包含更改为:require ui-router-extras
我收到以下错误:
Sprockets::Rails::Helper::AssetAliasUsed - Asset was linked to from an alias rather than its exact path. Alias resolving may not be available in production.
15:01:07 web.1 |
Use "ui-router-extras.js" instead of "ui-router-extras/release/ct-ui-router-extras.js"
这应该是正确的别名,因为 bower.json 文件ui-router-extras
映射到ct-ui-router-extras
,但经过一些挖掘,我发现这个别名问题与sprockets
.
使这更加复杂,angular-rails-templates
与最新版本的sprockets
. 但是,angular-rails-templates
它与 兼容sprockets 2.12.3
,根据sprockets
上面的问题,它应该包括对别名错误的修复。
鉴于我仍然遇到问题,我怀疑针对 sprockets 问题实施的修复不是一个完整的修复。
话虽这么说,别名问题实际上可能已在 中修复,sprockets >= 3.0
但sprockets > 3.0
由于.angular-rails-templates
我是 Bower 和 Angular 的新手。我对上述问题的临时解决方案是将ct-ui-router-extras
&的所有实例ct.ui.router.extras
(包括文件名)分别重命名为ui-router-extras
& ui.router.extras
。
虽然这是有效的,但显然并不理想。如果有人有更好的解决方案,我欢迎。
另外,我不确定我是否应该提交一个错误sprockets
或者一个错误ui-router-extras
(这个错误已经存在angular-rails-tempaltes
)