Каждый компонент, возвращающий vue, не может прочитать свойство 'parseComponent' из неопределенного - PullRequest
1 голос
/ 22 января 2020

Итак, я попытался исследовать это, но ни одно из решений не работает. Я думаю, что это определенно проблема с некоторыми из моих vue зависимостей, потенциально vue-loader, но я не уверен, что конкретно делать, чтобы это исправить. Я попытался:

  • , удалив node_modules и снова запустив npm install
  • npm update
  • Я пытался полностью удалить vue-loader
  • попытался добавить, удалить и обновить @vue/component-compiler-utils
  • попытался изменить версию вышеупомянутого на три разные вещи
  • попытался запустить composer install и composer update
  • создание новой временной промежуточной ветки из master на случай, если это была какая-то странная git ошибка, и сборка из этой

Что мне здесь не хватает? Каждый vue компонент на моем промежуточном сайте возвращает ту же ошибку. Самое странное, что промежуточный сервер является прямым клоном нашего производственного сервера, где все это работает абсолютно гладко, и я получаю ноль ошибок.

Ошибки:

ERROR in ./resources/assets/js/components/component.vue
Module build failed (from ./node_modules/vue-loader/lib/index.js):
TypeError: Cannot read property 'parseComponent' of undefined
    at parse (/var/www/site/node_modules/@vue/component-compiler-utils/dist/parse.js:14:23)
    at Object.module.exports (/var/www/site/node_modules/vue-loader/lib/index.js:67:22)
 @ ./resources/assets/js/app.js 60:29-81
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

Я также пытался установить зависимости этих предупреждений, но все равно получаю ту же ошибку, описанную выше, я включаю их, потому что это то, что появляется, когда я запускаю свой сценарий bash и запускаю npm install из моей промежуточной версии ветвь:

npm WARN eslint-plugin-vue@5.2.3 requires a peer of eslint@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN vue-eslint-parser@5.0.0 requires a peer of eslint@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.11 (node_modules/webpack-dev-server/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.11: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

пакет. json зависимости

"devDependencies": {
    "axios": "^0.19.0",
    "babel-preset-stage-2": "^6.24.1",
    "browser-sync": "^2.26.7",
    "browser-sync-webpack-plugin": "^2.2.2",
    "cross-env": "^5.2.0",
    "eslint": "^6.1.0",
    "eslint-config-standard": "^13.0.1",
    "eslint-loader": "^2.2.1",
    "eslint-plugin-import": "^2.18.2",
    "eslint-plugin-node": "^9.1.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-standard": "^4.0.0",
    "eslint-plugin-vue": "^5.2.3",
    "exports-loader": "^0.6.4",
    "imports-loader": "^0.7.1",
    "jquery": "^3.3.1",
    "laravel-mix": "^4.1.2",
    "lodash": "^4.17.11",
    "resolve-url-loader": "^3.1.0",
    "sass": "^1.22.10",
    "vue": "^2.6.10"
  },
   "dependencies": {
    "@vue/component-compiler-utils": "^3.1.1",
    "ajv": "^6.10.0",
    "babel-polyfill": "^6.26.0",
    "bootstrap": "^4.3.1",
    "braces": "^2.3.1",
    "es6-promise": "^4.2.6",
    "font-awesome": "^4.7.0",
    "luxon": "^1.12.1",
    "moment": "^2.24.0",
    "popper": "^1.0.1",
    "popper.js": "^1.14.7",
    "sass-loader": "^7.1.0",
    "vue-datetime": "^1.0.0-beta.10",
    "vue-datetime-picker": "^0.2.1",
    "vue-full-calendar": "^2.7.0",
    "vue-loader": "^15.8.3",
    "vue-router": "^3.0.2",
    "vue-template-compiler": "2.6.10",
    "vue-wysiwyg": "^1.7.2",
    "vuex": "^3.1.0",
    "weekstart": "^1.0.0",
    "whatwg-fetch": "^2.0.4",
    "wkhtmltopdf": "^0.3.4"
  }
}

Я думаю, что это может иметь какое-то отношение к указанной c версии зависимость? Но ничего из того, что я пробовал из других потоков переполнения стека или поисков в Google, не помогло

Дайте мне знать, если какой-то код отсутствует, который может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...