2013-03-30 22 views
3

哦,你是动态语言的神,你学习了Vim并使用了开源代码,听到了我的祈祷。使用不带模板脚本标记的ember.js

我想非常想用Ember.js来创建我的应用程序。但我不能。亲爱的上帝,我是一个不配的Java开发人员,我使用那些称为“IDE”的不纯软件来帮助我自动完成并检查我的代码(我知道这是异端的)。亲爱的上帝,我使用的特定IDE(一个叫做Eclipse的模糊和未知的IDE,以前没有人使用过)会倾向于遏制那些包含我的把手模板的神圣和神圣的<script>标签。这些标签打破了自动完成和代码检查,因为异端IDE认为它的JavaScript。现在,因为我是一个不配合的人,所以我错误地认为我希望我的IDE能够接受,因此目前的情况非常令人伤心。

为了让IDE能够帮助我再次编写HTML,我非常希望亲爱的上帝将这些模板放在外部文件中。然后,我将能够指示不纯的IDE将文本解析为HTML,然后继续作为开发人员依靠他的工具来度过难熬的生活。理想情况下,这些文件最终将以.html结尾,因为我可怕的环境实际上使用文件扩展名来猜测文件的内容(你能相信这样的一件可耻的事情)。但我猜想结果在.handlebars的东西对我来说是罪人。

所以,我问的是,你的云,是告诉我吟诵让这一切发生的咒语。告诉我,我必须添加到我的app.js定义,因此

(function(Ember, $) { 

    var App = Ember.Application.create(); 

}); 

})(Ember, jQuery); 

index.html这么写

<!doctype html> 
<html> 
<head> 
    <title>Holy app</title> 
</head> 
<body> 
    <script type="text/javascript" src="/lib/underscore-1.4.4.js"></script> 
    <script type="text/javascript" src="/lib/jquery-1.9.1.js"></script> 
    <script type="text/javascript" src="/lib/handlebars-1.0.0-rc.3.js"></script> 
    <script type="text/javascript" src="/lib/ember-1.0.0-rc.1.js"></script> 
    <script type="text/javascript" src="/app.js"></script> 
</body> 
</html> 

和我的外部application.html包含以下

<div id="prayers"> 
    <p> 
     Oh you who know all UNIX terminal command<br> 
     You who shall not support any legacy code and tools<br> 
    </p> 
    <p> 
     Make it so that this text appear in my browser<br> 
     So that all of us Java and C# sinner<br> 
     See the light and reveal in your dynamic way<br> 
    </p> 
    <p> 
     Pardon our sin when we believe that using automatic refactoring tool is useful<br> 
     And free us from our reliance on static typing to make less mistake<br> 
    </p> 
    {{holyAnswer}} 
</div> 

,这样的application.html内容在index.html找到方法?

我知道App.ApplicationView = Ember.View.create(),我听说过Ember.Handlebars.compile(),但我的软弱头脑不知道如何使它工作或如何使用它。我的不纯的方式已经包括编译,所以我可以使用JavaScript构建工具,如果这是你问我的负担。

请您在开放标准的网站上帮助我处理这些困难时期。

编辑

亲爱的上帝,我知道这个问题Is it possible to load handlebar template with script tag? Or define handlebar templates programmatically in Ember.js的,但得到的答复并没有告诉我如何让这个我的模板成为无名<script>标签是在神圣的ember.js例子的等效。这个模板似乎是应用程序的根,我不知道如何告诉ember.js使用它。

回答

2

您需要预先编译您的模板外部。由于您是Java开发人员,因此此Maven plugin可能对您有好处。 使用此插件将您的模板编译到一个JS文件中,该文件包含编译后的所有模板。然后你需要做的就是在你的html中包含这个JS文件。我自己编译我的模板到一个名为'templates.js'的文件中。在这种情况下,您的html应该是:

<!doctype html> 
<html> 
<head> 
    <title>Holy app</title> 
</head> 
<body> 
    <script type="text/javascript" src="/lib/underscore-1.4.4.js"></script> 
    <script type="text/javascript" src="/lib/jquery-1.9.1.js"></script> 
    <script type="text/javascript" src="/lib/handlebars-1.0.0-rc.3.js"></script> 
    <script type="text/javascript" src="/lib/ember-1.0.0-rc.1.js"></script> 
    <script type="text/javascript" src="/templates.js"></script> 
    <script type="text/javascript" src="/app.js"></script> 
</body> 
</html> 
+0

谢谢!我会给它一个旋转(并在早上2点停止发布奇怪的问题) –

相关问题