javascript - 从另一个网站加载 Ember.js 应用程序

原文 标签 javascript node.js ember.js yeoman yeoman-generator

我正在做一个项目,我想从另一个网站加载 Ember.js 应用程序,托管在不同的服务器上并使用不同的域名。换句话说,我想在其他网站中包含一个 Ember 应用程序,就像我对 iFrame 所做的那样,但没有 iFrame。

我使用 Yeoman 和 Ember 生成器构建了我的 Ember.js 应用程序。

在原始网站中,我只有一个简单的标记,如下所示:

<body>
    <h1>My website</h1>
    <p>Lorem ipsum...</p>
    <div id="myEmberApp"></div>
    <p>Lorem ipsum...</p>
</body>

我知道如何调用外部 JS 文件,但不知道如何执行或加载我的 Ember.js 应用程序。我也尝试过使用 CORS,但我认为它不适合我的需要。

对于记录,我不能使用 iFrame。在原始网站上,我不想对 jQuery 或其他任何东西有任何依赖。将来,我希望能够逐步提供如何将此应用程序集成到任何网站上。

有什么解决办法吗?或者我是否应该计划在没有 Ember.js 的情况下使用完整的 JS 开发我的应用程序?

如果您需要更多信息,请与我们联系。

提前致谢

- - 编辑 - -

这是我从原始网站调用我的 JS 文件的方式:
<!-- The JS script to be included by the client -->  
<script>

  (function () {
    var eh = document.createElement('script');
    eh.type = 'text/javascript';
    eh.async = true;
    eh.src = '//localhost:9000/scripts/edenhome.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(eh, s)
  })();
</script>

我希望这有帮助。

最佳答案

也许我遗漏了一些东西,但为什么不将您的应用程序包含在脚本标签中呢?我不熟悉 yeoman 生成器,但是这些构建工具中的大多数会启动一个 ember 应用程序,其中模板预编译为 JavaScript 函数,然后将所有文件连接到一个文件中。

例如:

// this would be the precompiler output generated by yeoman, not exactly like
// this, but same idea, the template is part of the JS file
Ember.TEMPLATES['application'] = Ember.Handlebars.compile('<h1>I am an ember app</h1>');

// make an app and set the rootElement
var App = Ember.Application.create({
  rootElement: '#myEmberApp'
});

你可以在这里看到我正在从不同的域加载 ember 应用程序:

http://emberjs.jsbin.com/mawuv/1/edit

编辑跟进

注入(inject)脚本与带有 src 属性的脚本一样有效:

http://emberjs.jsbin.com/mawuv/2/

关于javascript - 从另一个网站加载 Ember.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21930342/

相关文章:

javascript - 使用 JavaScript 获取附加了 HTMLEditorExtender 的 ASP 文本框元素的值

javascript - 用户滚动后触发jquery .animate

javascript - Javascript SVG互动问题

javascript - 使用 OR 对多对多搜索进行 Sequelize

javascript - promise 和 Ember 的奇怪错误

netbeans - NetBeans 中的 Handlebars 格式

javascript - 开 Jest -模拟要导入要测试的组件文件中的函数

javascript - 如何在路由中使用服务属性?

ajax - AJAX和node.js交互的问题

javascript - 我是否必须使用ember-cli才能使用ember 1.10.0版本?