【发布时间】: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