我正在尝试使用jquery.md5.js 插件在我的VueJs项目中,但总是得到
TypeError:(0,_jquery.md5)不是函数
或
ERROR in ./src/utils-convenience/jquery.md5.js
Module build failed: SyntaxError: Unexpected token (23:2)
21 | /*global unescape, jQuery */
22 | export default {
23 | (function ($) {
| ^
24 | 'use strict';
25 |
26 | /*
我在我的项目中使用Webpack,但这不是我最好的部分,所以我猜文件导入有问题。请指教。
这是两种情况的代码:
import axios from 'axios'
import { API_URL } from '../../config/constants'
import { md5 } from '../utils-convenience/jquery.md5'
export default {
// Getting data for main-page
getEvents () {
return new Promise((resolve, reject) => {
var authId = 'api.kassy.ru'
var secretKey = 'a619d974658f3e749b2d88b215baea46'
var xml = '<?xml version="1.0" encoding="utf-8"?><request
module="subdivision" format="json"><filter id="" db="" state=""
/><auth id="' + authId + '" /></request>'
var sign = md5(xml + secretKey)
axios.post(API_URL, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
},
body: {
'xml': xml,
'sign': sign
}
})
.then((result) => {
console.log(result)
return resolve(result.data)
})
.catch(err => reject(err))
})
}
因此,如果我不从jquery.md5.js导出代码并且只导入此文件,则会出现第一个错误。如果我按如下方式导出代码,则会出现第二个错误:
export default {
(function ($) {
'use strict';
///MD5 code
}(typeof jQuery === 'function' ? jQuery : this));
}
答案 0 :(得分:1)
export default {
(function ($) {
'use strict';
///MD5 code
}(typeof jQuery === 'function' ? jQuery : this));
}
这不是有效的javascript。删除{后面的&#39;导出默认值&#39;。
export default
(function ($) {
'use strict';
///MD5 code
}(typeof jQuery === 'function' ? jQuery : this));