Глобальный не определен в Nuxt 2.5 и выше - PullRequest
0 голосов
/ 11 июля 2019

Мое приложение использовало Nuxt 2.1, после чего я постепенно обновлял его, и до Nuxt 2.4 все в порядке, но начиная с версии 2.5 и более поздние версии производят торможение с ошибкой global is not defined.

Место ошибки в .nuxt/client.js@26:

if (!global.fetch) { global.fetch = fetch }

Я не могу понять, как это исправить (нужно определить global, насколько я понимаю), и ответов там нет.Как и такие сообщения об ошибках, что странно.

Список зависимостей:

    "dependencies": {
        "@fortawesome/fontawesome-svg-core": "^1.2.7",
        "@fortawesome/free-regular-svg-icons": "^5.4.2",
        "@fortawesome/free-solid-svg-icons": "^5.4.2",
        "@fortawesome/vue-fontawesome": "^0.1.1",
        "@johmun/vue-tags-input": "^2.0.1",
        "@nuxtjs/auth": "^4.5.3",
        "@nuxtjs/axios": "^5.3.6",
        "@nuxtjs/dotenv": "^1.3.0",
        "@nuxtjs/google-analytics": "^2.2.0",
        "@nuxtjs/moment": "^1.0.0",
        "@saeris/vue-spinners": "^1.0.8",
        "apexcharts": "^2.0.9",
        "axios": "^0.18.0",
        "canvas": "^2.0.1",
        "deep-map": "^2.0.0",
        "deepmerge": "^3.3.0",
        "element-ui": "^2.4.7",
        "glob-all": "^3.1.0",
        "html-element-attributes": "^2.0.0",
        "json-loader": "^0.5.7",
        "laravel-echo": "^1.5.3",
        "lockr": "^0.8.5",
        "lodash": "^4.17.11",
        "moment": "^2.22.2",
        "nib": "^1.1.2",
        "nuxt": "^2.8.1",
        "nuxt-babel": "^1.0.1",
        "nuxt-i18n": "^5.12.7",
        "purgecss-webpack-plugin": "^1.5.0",
        "pusher-js": "^4.4.0",
        "raw-loader": "^3.0.0",
        "rupture": "^0.7.1",
        "s-grid": "^1.2.1",
        "stylus": "^0.54.5",
        "stylus-loader": "^3.0.2",
        "underscore": "^1.9.1",
        "v-viewer": "^1.3.1",
        "vue-apexcharts": "^1.2.1",
        "vue-awesome": "^3.2.0",
        "vue-cookie-law": "^1.10.0",
        "vue-filter": "^0.2.5",
        "vue-js-modal": "^1.3.28",
        "vue-lodash": "^2.0.0",
        "vue-nl2br": "^0.1.1",
        "vue-scrollto": "^2.15.0",
        "vue-the-mask": "^0.11.1",
        "vue-wysiwyg": "^1.7.2",
        "vue2-editor": "^2.6.6",
        "vue2-google-maps": "^0.10.6",
        "vue2-transitions": "^0.2.3",
        "vuedraggable": "^2.16.0",
        "vuejs-datepicker": "^1.5.4"
      },
      "devDependencies": {
        "@babel/core": "^7.5.4",
        "@babel/node": "^7.5.0",
        "@babel/plugin-proposal-export-default-from": "^7.5.2",
        "@babel/plugin-proposal-export-namespace-from": "^7.5.2",
        "@babel/plugin-proposal-object-rest-spread": "^7.5.4",
        "@babel/plugin-proposal-optional-chaining": "^7.2.0",
        "@babel/plugin-syntax-dynamic-import": "^7.2.0",
        "@babel/plugin-transform-runtime": "^7.5.0",
        "@babel/polyfill": "^7.4.4",
        "@babel/preset-env": "^7.5.4",
        "@babel/preset-flow": "^7.0.0",
        "babel-eslint": "^8.2.1",
        "cross-env": "^5.2.0",
        "deep-map-async": "^1.5.1",
        "electron": "2.0.0-beta.7",
        "electron-builder": "^20.8.1",
        "electron-devtools-installer": "^2.2.3",
        "es6-weak-map": "^2.0.3",
        "eslint": "^4.15.0",
        "eslint-friendly-formatter": "^3.0.0",
        "eslint-loader": "^1.7.1",
        "eslint-plugin-vue": "^4.0.0",
        "google-translate-api": "^2.3.0",
        "tosource": "^1.0.0",
        "translatte": "^2.4.3",
        "webpack-node-externals": "^1.7.2",
        "yargs": "^13.2.4"
      }

.babelrc:

{
  "presets": ["@babel/env"],
  "plugins": [
    "@babel/plugin-transform-runtime",
    "@babel/plugin-syntax-dynamic-import",
    "@babel/plugin-proposal-export-default-from",
    "@babel/plugin-proposal-object-rest-spread",
    "@babel/plugin-proposal-optional-chaining",
    "@babel/plugin-proposal-export-namespace-from"
  ]
}

1 Ответ

0 голосов
/ 16 июля 2019

После многих часов исследований я выяснил, что проблема была в этом конфиге:

extend(config, {isDev, isClient, isServer}) {
  if (isClient) {
    config.target = process.env.BUILD_TARGET || 'electron-renderer';
  }
})

Есть идея, почему все это работало до 2.5 и сломалось после, но вот случай

...