4

我刚开始使用 Ember-CLI 0.0.36,但我一直坚持使用Ember.js 主页中的 Gravatar 示例代码。

我做了

> bower install --save JavaScript-MD5
> ember generate component gravatar-image

Brocfile.js

[...]
app.import('vendor/JavaScript-MD5/js/md5.js');
[...]

应用程序/组件/gravatar-image.js

import Ember from 'ember';

export default Ember.Component.extend({
  size: 200,
  email: '',

  gravatarUrl: function() {
    var email = this.get('email'),
        size = this.get('size');

    return 'http://www.gravatar.com/avatar/' + md5(email) + '?s=' + size;
  }.property('email', 'size')
});

启动后,ember server我将收到以下错误消息:

xyz/components/gravatar-image.js: line 11, col 48, 'md5' is not defined.
1 error

如何告诉组件使用 JavaScript-MD5?

4

4 回答 4

4

为了让它工作,我使用了:

bower install blueimp-md5 --save-dev

并在 Brocfile.js 中添加了导入

app.import('bower_components/blueimp-md5/js/md5.js');

然后将“md5”添加到 Oliver 提到的 predef 数组以抑制 md5 警告。

于 2015-02-19T15:38:33.173 回答
3

如果我没看错的话,JavaScript-MD5 不会导出任何 AMD 模块。但它定义了window.md5. 因此,您app.import将包含它,vendor.js您可以调用window.md5该组件。

于 2014-06-23T20:00:23.337 回答
3

这只是一个 jshint linter 消息。

打开你的 .jshintrc 文件,添加"md5""predef"对象中就可以了。

于 2014-07-17T14:10:30.883 回答
2

您可能需要安装该ember-cli-md5软件包。这将在您的节点模块中安装所有必需的依赖项。使用它npm install --save-dev ember-cli-md5来安装ember-cli-md5.

安装后,您需要生成 md-5,它将通过 bower 安装浏览器包。使用它来生成 md-5 ember generate md-5

因此,您需要执行以下两个步骤:-

npm install --save-dev ember-cli-md5
ember generate md-5
于 2015-03-28T10:29:23.980 回答