哦,动态语言之神,学习 Vim 并使用开源的你,请听我的祈祷。
我非常想使用 Ember.js 来创建我的应用程序。但我不能。亲爱的上帝,我是一个不称职的 Java 开发人员,我使用那些名为“IDE”的不纯软件来帮助我自动完成和检查我的代码(我知道这是异端)。亲爱的上帝,我使用的特定 IDE(一个不起眼且未知的 IDE,称为 Eclipse,从来没有人使用过)往往会窒息那些神圣的 <script>
包含我的 Handlebars 模板的标签。这些标签破坏了自动完成和代码检查,因为异端的 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 构建工具。
Web 的你们,开放标准的你们,请在那些困难时期帮助我。
编辑
天哪,我知道这个问题Is it possible to load handlebar template with script tag? Or define handlebar templates programmatically in Ember.js , 但答案没有告诉我如何使我的模板成为未命名的 <script>
的等价物神圣中的标签 ember.js
例子。这个模板好像是根应用,不知道怎么说ember.js
使用它。
最佳答案
您需要在外部预编译您的模板。因为您是一名 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>
关于javascript - 使用没有模板脚本标签的 ember.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15715928/