我们使用Jammit进行Rails(3.0.3 / 1.9)静态压缩以及它提供的所有其他前端好东西。 我正在尝试使用Javscript模板来替换一些丑陋的前端代码,但看起来默认的JST编译器无法处理Windows换行符:
assets.yml文件:
embed_assets: on
javascripts:
plugins:
- app/views/**/*.jst
当我在一行上有_topicPreview.jst时,它编译得很好:
<div class='TopicPreview <%= typeName %>'><div class='Title'> <%= summary %> </div><div class='Meta'> <span class='LastUpdate'> <%= updatedAt %> </span> <span class='PostCount'> | <%= postsCount %> Posts | </span> <span class='LikeCount'> <%= likesCount %> Likes </span> </div></div>
页面加载,我有JST._topicPreview([JSON版本的主题])方法可用。美丽。
JST的一半吸引力是可读性/可维护性,所以我希望我的JST具有适当的格式。只要我在JST文件中添加换行符,页面就会在Uncaught SyntaxError: Unexpected Token ILLEGAL
window.JST['_topicPreview'] = template('...[the escaped JST file]...')
在代码跟踪中,我可以看到它解析并转义单引号,所以我很惊讶它无法处理换行符。
还有其他人遇到过这个问题吗? 是否有一个更清晰的解决方案,而不是将一些额外的字符串替换为模板生成代码?
元: 我是javascript模板的新手,但是他们应该拥有自己的StackOverflow标签吗?
修改
看起来这是一个已知的问题,有一个挂起的修复程序要合并到gem中。