哦,你是动态语言的上帝,你学习了Vim并使用开源,听到了我的祷告。
我非常希望使用 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>
标记{ {1}}示例。此模板似乎是应用程序根目录,我不知道如何告诉ember.js
使用它。
答案 0 :(得分: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>