Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Vue中添加定义了GlobalErrorhandler的插件_Javascript_Vue.js_Plugins - Fatal编程技术网

Javascript 在Vue中添加定义了GlobalErrorhandler的插件

Javascript 在Vue中添加定义了GlobalErrorhandler的插件,javascript,vue.js,plugins,Javascript,Vue.js,Plugins,我编写并添加了一个globalerrorhandler(Vue.config.errorHandler,window.onerror,…) 我遵循vue网站上的“在vue中编写插件” 但我得到以下错误,我不知道为什么: “MyPlugin”未定义 我在我的项目中创建了一个插件文件夹。在这个文件夹中,我添加了另一个文件夹“GlobalErrorHandler”。在这个文件夹中,我添加了“MyPlugin.js” App.vue: import MyPlugin from './plugins/Gl

我编写并添加了一个globalerrorhandler(Vue.config.errorHandler,window.onerror,…)

我遵循vue网站上的“在vue中编写插件”

但我得到以下错误,我不知道为什么: “MyPlugin”未定义

我在我的项目中创建了一个插件文件夹。在这个文件夹中,我添加了另一个文件夹“GlobalErrorHandler”。在这个文件夹中,我添加了“MyPlugin.js”

App.vue:

import MyPlugin from './plugins/GlobalErrorHandler'
Vue.use(MyPlugin);
MyPlugin.js中的代码:

MyPlugin.install = function (Vue){
    Vue.config.errorHandler = function(err, info) {
      
        const toSend = {
          "error": err,
          "info": info
        }
      
        const jsonString = JSON.stringify(toSend);
        const xhr = new XMLHttpRequest();
              
              xhr.open("POST", "http://localhost:8090/api/auth/event");
              xhr.setRequestHeader("Content-Type", "application/json");
              xhr.send(jsonString);
              console.log(jsonString);
        
        };

}

在添加
install
属性之前,必须先存在
MyPlugin
对象:

constmyplugin={};//创建对象
MyPlugin.js需要导出对象,否则无法导入:

export default MyPlugin;  // export for importing
综合起来:

constmyplugin={};
MyPlugin.install=函数(Vue){
Vue.config.errorHandler=函数(错误,信息){
常数toSend={
“错误”:呃,
“信息”:信息
}
const jsonString=JSON.stringify(toSend);
const xhr=new XMLHttpRequest();
xhr.open(“POST”http://localhost:8090/api/auth/event");
setRequestHeader(“内容类型”、“应用程序/json”);
send(jsonString);
log(jsonString);
};
}
导出默认MyPlugin;

必须先存在
MyPlugin
对象,然后才能向其添加
install
属性:

constmyplugin={};//创建对象
MyPlugin.js需要导出对象,否则无法导入:

export default MyPlugin;  // export for importing
综合起来:

constmyplugin={};
MyPlugin.install=函数(Vue){
Vue.config.errorHandler=函数(错误,信息){
常数toSend={
“错误”:呃,
“信息”:信息
}
const jsonString=JSON.stringify(toSend);
const xhr=new XMLHttpRequest();
xhr.open(“POST”http://localhost:8090/api/auth/event");
setRequestHeader(“内容类型”、“应用程序/json”);
send(jsonString);
log(jsonString);
};
}
导出默认MyPlugin;