【问题标题】:Integrating ember.js with tornado templates将 ember.js 与龙卷风模板集成
【发布时间】:2017-04-05 11:48:42
【问题描述】:

我正在尝试将应用程序从使用 tornado 模板(更准确地说,它是带有适配器的 jinja)迁移到 ember.js。 据我了解,ember.js 对如何构成最终渲染产品有非常强烈的意见。在实践中,似乎整个应用程序必须从客户端的 ember 模板生成。服务器端只提供 REST 格式的数据。

是否可以让 ember 工作并仅控制页面的某些部分,这些部分主要由 tornado 模板(la jquery 插件)呈现,还是我必须完全切换到 ember?

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    欢迎您,很高兴您对 Ember 的关注度很高!你是对的,Ember 对事情应该如何工作有明确的意见 :-) 尽管如此,确实可以分块迁移。

    你有几个选择来处理这个问题。

    1。从页面上的单个 div 构建

    您可以在 Ember 主站点(一个小型​​ Ember 应用程序)的 builds 页面上看到这一点。它的来源在这里:https://github.com/ember-learn/builds/

    有趣的是,您可以定义您希望 Ember 渲染到的 rootElement(尽管我们实际上应该将该行移到配置文件中,但请参阅 https://github.com/ember-learn/builds/blob/master/app/app.js)。一旦页面上有 Ember,就可以让它与外部 Javascript 交互或根据需要调用外部 Javascript。

    2。将 Ember 组件洒在页面上

    如果您需要 Ember 来控制同一页面的多个部分,您可能需要查看 https://github.com/mitchlloyd/ember-islands 该插件旨在与服务器呈现的页面一起使用,因此可能不适合您的设置。但这是另一个如何重构的例子。

    3。使用新的 GlimmerJS (alpha)

    您也可以使用新发布的GlimmerJS 开始重构为 Ember。这个库的目标是允许人们使用 Ember,然后当他们需要页面路由和 Ember 的其他方面时,允许他们切换。所以它可能适合你的追求。

    但是请注意,GlimmerJS 层(位于 Glimmer vm 之上)仍然很新。那里的东西效果很好,但仍在添加大部分 Ember 抛光剂。所以运送到生产可能需要一些工作......

    【讨论】:

    • 谢谢。我想我们会选择第一个选项。我们基本上正在重写所有内容,以便渲染是客户端。因此,您确认基本上哲学是这样的:服务器只为您提供基本的 html(标题、css 链接等,以及一个空的正文)。所有的渲染和模板应用都是在客户端完成的,服务器只返回 REST+JSON 数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    相关资源
    最近更新 更多