我有一个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'),
任何帮助都会非常明确。
由于 麦
答案 0 :(得分:0)
我使用了我已经尝试过的代码
app.import('vendor/c-liberator/lib/md5.min.js', {
amdModule: 'md5'
});
不知道为什么它在
之前不起作用