如何在组件中使用md5.js?

时间:2014-06-23 17:32:50

标签: ember.js ember-cli

我刚刚开始使用Ember-CLI 0.0.36,我坚持使用Ember.js homepage中的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 个答案:

答案 0 :(得分:4)

为了实现这一点,我使用了:

bower install blueimp-md5 --save-dev

并在Brocfile.js中添加了导入

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

然后添加" md5"如Oliver所提到的预定义数组来抑制md5警告。

答案 1 :(得分:3)

如果我认为正确的话,JavaScript-MD5不会导出任何AMD模块。但它定义了window.md5。因此,app.import会将其包含在vendor.js中,您可以在组件中调用window.md5

答案 2 :(得分:3)

这只是一个jshint linter消息。

打开你的.jshintrc文件,将"md5"添加到"predef"对象,你没事。

答案 3 :(得分: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