Webpack,MD5和VueJs

时间:2017-04-25 08:16:33

标签: javascript webpack vue.js md5

我正在尝试使用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));
 }

1 个答案:

答案 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));