2011-03-09 47 views
0

我们正在使用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 ILLEGALwindow.JST['_topicPreview'] = template('...[the escaped JST file]...')

在代码跟踪中,我可以看到它解析并转义单引号,所以我很惊讶它无法处理换行符。

有其他人遇到过这个问题吗? 是否有比修复模板生成代码中的一些额外字符串更简单的修复方法?

Meta: 我很新的JavaScript模板,但他们应该有自己的StackOverflow标记?

编辑

看起来这是一个已知问题未决修复合并到创业板上市。

Windows line breaks in Jammit JST compiler

回答