vue 中插件中使用 JSON.stringify 报错 exports is not defined

vue-cli创建的项目

utils/index.js代码如下

exports.install = function (Vue, options) {
    Vue.prototype.test= function () {
        JSON.stringify({})
        console.log('执行成功')
    }
};

main.js代码如下

import commonFun from './utils/index'
Vue.use(commonFun)

浏览器报错 exports is not defined
控制台报错 export 'default' (imported as 'commonFun') was not found in './utils/index'

删除 JSON.stringify ,无异常!


问题已经解决,根据@gaoryrt回答那样,改写如下,it work!

export default {
    install(Vue, options)  {
        Vue.prototype.Utils = {
            funA(o) {
                ...
            },
            funB(o) {
                ...
            }
        }
    }
}
阅读 6.1k
2 个回答

貌似不是这个 JSON.stringify() 的问题,而是你使用 exports 的姿势不对。
如果想在 main.js 里面使用 import commonFun,那么在 utils/index.js 里面你需要 export default
如果想在 utils/index.js 里面使用 exports.install =, 那么在 main.js 应该使用 import {install}

我觉得应该是./utils/index里面的配置文件出了问题。试试这个

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题