Warm tip: This article is reproduced from serverfault.com, please click

javascript-BackEndUrl未定义

(javascript - BackEndUrl is undefined)

发布于 2020-11-28 00:51:16

我创建了一个插件,该插件应将一些数据发布到我的后端。我想设置一些后端url配置。我用“ console.log(...)”检查了插件中的URl,因为你可以在我的代码中看到它(在sendDataToBackEnd.js中)。但是我得到以下输出“ undefined”。这是错误:“错误消息:无法读取null的属性'backEndUrl'”

项目结构:

project1
   public
     backend-config.js
     faviocon.ico
     index.html
   src
     App.vue
     main.js
     config
       backEndUrlConfig.js
     plugin
       sendDataToBackEnd.js

因此,我在“ public”文件夹中创建了backend-config.js

(function (window) {

    window._backendconfig = {
        urlBackend: `http://localhost:8090/api/auth/event`,
    }

}(this));

我的config.js看起来像这样:

export default { ...window._backendconfig }

我的插件“ sendDataToBackEnd.js”看起来像这样:

import url from '../../config/backendURLconfig';

var backEndUrl = url.urlBackend;
console.log(backEndUrl)

const sendDatatoBackEnd = {}

sendDataToBackEnd.install = function (Vue){  
    {Method to send Data to my Backend}
}

export default sendDatatoBackEnd;
Questioner
Nilo Meier
Viewed
11
Matthew Brooks 2020-11-28 09:45:49

你正在将配置文件中的全局作用域JS(在窗口上设置属性)与文件中的模块样式JS sendDataToBackEnd.js(从模块导入和导出)混合使用。

你需要从config导出某些内容(如果使用模块,则是最佳选择),或者只是从窗口访问它。

backendURLconfig.js

const config = {
  urlBackend: `http://localhost:8090/api/auth/event`,
}

export default config

sendDataToBackEnd.js

import config from '../config/backendURLconfig';

var backEndUrl = config.urlBackend;

console.log(backEndUrl)

const sendDatatoBackEnd = {}

vuePlugin.install = function (Vue){  
    {Method to send Data to my Backend}
}

export default sendDatatoBackEnd;