【问题标题】:How can I get the ember 'simple-auth' mixins imported into my Routes & Controllers?如何将 ember 'simple-auth' mixins 导入到我的路由和控制器中?
【发布时间】:2015-03-31 18:37:05
【问题描述】:

我正在努力将“ember-simple-auth”添加到基于 EAK/grunt 的 ember 应用程序中,已升级到 ember 1.10。 Bower 正在引入最新的“simple-auth.js”,而不是“ember app kit simple auth”示例使用的旧的“ember-simple-auth.js”版本。该组件似乎已使用 Ember OK 注册,因为如果我将 js 文件包含在 index.html 中,我会收到警告说它已经注册。开始使用 simple-auth 时最基本的事情之一是将 ApplicationRouteMixin 导入 ApplicationRoute,但我得到“模块未定义”或“找不到”。我已经尝试了许多我在示例和博客中看到的语法版本。就像使用 ApplicationRouteMixin 或 SimpleAuth.ApplicationRouteMixin 或 Ember.SimpleAuth.ApplicationRouteMixin 从 'simple-auth/mixins/application-route-mixin' 导入 ApplicationRouteMixin。 Marco 建议我可能需要加载“simple-auth.amd”,因为基于 EAK 的应用程序会将 ES6 模块转换为 AMD 以便在当今的浏览器中加载。但我认为 Ember Resolver 可以解决这个问题。我不知道如何设置 grunt 构建以将一个模块导出到另一个模块。旧版本使用“Ember.SimpleAuth = Ember.Namespace.create”将组件添加到命名空间,但新版本没有该语法。如何将 ember 'simple-auth' mixin 导入到我的路由和控制器中?

【问题讨论】:

  • 该项目使用了轻量级的 AMD 'stefanpenner/loader.js',它现在似乎是面向 'Ember CLI' 的,因此尝试使用旧版本的 'loader' 进行构建,但没有发现任何改进。我放弃了旧版本的 ember-simple-auth,现在我可以使用 'Ember.SimpleAuth.ApplicationRouteMixin' 直接将 mixin 添加到 Route,就像在 'app kit simple auth' 中所做的那样,但是 ES6 样式的导入不会不行。
  • simple-auth 模块的完成和为 EAK 导出/加载的方式以及现在的方式发生了根本性的变化。有了 CommonJS、ADM、Browserfy 和 ES6 等所有模块规范,我不知道哪条路是正确的。我知道 'simple-auth' 已在 ember 中注册,但我什至不知道如何引用或自省其中的任何内容。

标签: ember.js ember-simple-auth


【解决方案1】:

我还尝试将单独的 mixin 文件放入项目中,并且能够以这种方式导入/引用它们,但是出现了关于 beforeModel 需要调用 _super 的错误,所以这是因为没有支持或文档的艰苦战斗所以我有放弃它。我的两个 ember 项目都升级到了最新的 Ember 和 jQuery,所以现在正在努力将它们迁移到 CLI,然后将再次访问 simple-auth,因为这是唯一可行的方法。

【讨论】:

    猜你喜欢
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多