我正在尝试将应用程序从使用龙卷风模板(更准确,它是带适配器的jinja)移动到ember.js。 据我所知,ember.js对如何撰写最终渲染产品有很强烈的意见。实际上,似乎必须从客户端的ember模板生成整个应用程序。服务器端只提供REST格式的数据。
是否可以让ember工作并仅控制页面的某些部分,这些部分主要由龙卷风模板(la jquery插件)呈现,或者我是否必须完全切换到ember?
答案 0 :(得分:2)
欢迎,很高兴你正在努力寻找恩伯!你是对的,Ember对于事情应该如何运作有明确的意见:-)尽管如此,以块的形式迁移确实是可行的。
您可以选择如何处理此问题。
您可以在主要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。
如果您需要Ember来控制同一页面的多个部分,您可能需要查看https://github.com/mitchlloyd/ember-islands该插件旨在与服务器呈现的页面一起使用,因此可能不适合您的设置。但它是如何重构的另一个例子。
您还可以使用新发布的GlimmerJS开始重构为Ember。这个库的目标是允许人们在Ember中使用,然后当他们需要页面路由和Ember的其他方面时,允许他们切换。所以它可能适合你所追求的。
但请注意,GlimmerJS层(在Glimmer vm之上)仍然很新。有什么效果很好,但很多Ember抛光剂仍在添加中。因此,运输到生产可能需要一些工作......