我们正在使用Jammit进行静态压缩的Rails(3.0.3/1.9)以及它提供的所有其他前端产品。 我努力工作Javscript模板,以取代一些丑陋的前端代码,但它看起来像默认JST编译器无法处理Windows换行符:用Jammit gem for Rails编译javascript模板?
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]...')
在代码跟踪中,我可以看到它解析并转义单引号,所以我很惊讶它无法处理换行符。
有其他人遇到过这个问题吗? 是否有比修复模板生成代码中的一些额外字符串更简单的修复方法?
Meta: 我很新的JavaScript模板,但他们应该有自己的StackOverflow标记?
编辑
看起来这是一个已知问题未决修复合并到创业板上市。
Windows line breaks in Jammit JST compiler