Wiriting' JSON.stringify' Vue组件加载

时间:2017-03-06 11:28:07

标签: javascript webpack vue.js vuejs2

我正在编写Vue插件,但是当我尝试向其添加JSON.stringify时,我在浏览器中出现运行时错误,页面变为空白。我写的插件文件中的任何地方JSON.stringify我收到错误:

  

未捕获的TypeError:无法分配给只读属性' exports'对象#'

如果我直接将JSON.stringify写入组件(例如,在'创建的'生命周期钩子中),则没有任何反应。

这在webpack编译期间不是错误,它只发生在eval内的浏览器中。发生错误的行如下所示:

eval("/* WEBPACK VAR INJECTION */(function(module) {Object.defineProperty(__webpack_exports__ ....")

这是插件文件中的内容

var MyPlugin = function () {

}

JSON.stringify({})
MyPlugin.secret = 'vue-plugin-secret'

MyPlugin.install = function (Vue, options) {

}

module.exports = MyPlugin

// export default MyPlugin

这就是我在组件中得到它的方式:

var MyPlugin = require('./MyPlugin')

如果我对JSON.stringify行发表评论,则错误会停止。

@edit

做了@Saurabh建议,使用' import'所以我不得不改变插件的导出形式

//MyPlugin.js
export default MyPlugin

在.vue组件中我做了

import MyPlugin from './MyPlugin';

这修复了错误,但是这是什么原因?一些webpack配置? (我使用webpack的默认vue-cli配置)

0 个答案:

没有答案