手动导入库但它的依赖项不可用于ember.js

时间:2017-02-01 02:38:19

标签: ember.js

我有一个javascript库“c-liberator”我需要在我的Ember应用程序中使用我手动导入它,因为它不是npm或bower包但它的依赖项不包括在内,当我尝试使用其中一个函数时,我收到此错误

Uncaught TypeError: md5 is not a function

我尝试导入“c-liberator”使用的确切md5模块,如果我在application.js中的函数中使用它,它工作正常,因此md5模块工作正常,只是“c-liberator”没有使用它。

下面的代码在application.js中正常运行但在“c-liberator”

中抛出未捕获的类型错误
var creds = md5('username' + ':' + 'pass');

我还尝试用bower和npm一次安装一个md5库,并确认它被bower.json和package.json引用,这没有改变任何东西。

缩小的md5库位于c-liberator / libmd5.min.js中,我也尝试过放入不起作用的ember-cli-build.js

app.import('vendor/c-liberator/c-liberator.js', {
    amdModule: 'clib'
  });
  app.import('vendor/c-liberator/lib/md5.min.js', {
    amdModule: 'md5'
  });

修改
这是我运行'creds'的代码工作正常,但是当Clib.login()执行相同的代码时,它会抛出该错误

cLiberate: function() {
    var creds = md5('username' + ':' + 'pass');
    alert(creds);
    var C;
    Clib.login('testuser@email.co.nz', 'notarealpassword', '1000000', function(userAgent) {
      C = userAgent;
      console.log('Login successful');
    }, function(data, status) {
      alert('Login error');
    });
  }.on('init'),

任何帮助都会非常明确。

由于 麦

1 个答案:

答案 0 :(得分:0)

我使用了我已经尝试过的代码

app.import('vendor/c-liberator/lib/md5.min.js', {
    amdModule: 'md5'
  });

不知道为什么它在

之前不起作用