javascript - 使用没有模板脚本标签的 ember.js

标签 javascript templates ember.js

哦,动态语言之神,学习 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/

相关文章:

javascript - 对象数组在 AngOninit 中显示未定义 5

javascript - Ember onClick 事件未完成操作

javascript - 悬停在输入范围上时显示时间

javascript - Meteor.JS 使用外部脚本(在服务器上)

javascript - ionic 2 - 未捕获类型错误 : Cannot read property '1' of null

javascript - 我应该在 Ember App Kit 的什么地方放上课?

testing - 是否可以将 ember 数据 fixture 适配器与单个对象而不是数组一起使用?

C++模板矩阵类——方阵特化

C++ 模棱两可的模板实例化

templates - 模板返回值的模板函数的完全特化