laravel - 每个返回的 vue 组件都无法读取未定义的属性“parseComponent”
问题描述
所以我试过研究这个,但没有一个解决方案有效。我认为这可能是我的一些 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"})
package.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"
}
}
我在想它可能与特定版本的依赖项有关?但是我一直在尝试从其他堆栈溢出线程或谷歌搜索中没有任何帮助
让我知道是否缺少任何可能有帮助的代码
解决方案
我有完全相同的问题,只是想通了,我希望这对某人有所帮助。首先,我将 vue 模板编译器更改为:
“vue 模板编译器”:“2.6.11”
而且我还必须将 vue 版本更改为最新的 realese,就我而言:
“vue”:“2.6.11”
推荐阅读
- tinymce - TinyMCE:Span Tag 不能包含 a、i、br 元素。不是继续跨度,而是拆分
- tensorflow - 在 Arduino nano 上编译模型时出现 Tensorflowlite 错误
- python - Python 9x9 和 3x3 数组验证不包括 0
- laravel - Gitpod托管的laravel应用程序自动显示laravel安装页面而不显示主页
- xml - 如何根据使用情况定义具有空 $value 的元素?
- json - 如何在数组元素具有多种类型的 Go 中解析 JSON?
- visual-studio-code - 有什么方法可以让某些片段在没有确认的情况下自动扩展?
- python - 使用 Python OpenCV 从视差/深度图计算尺度模糊因子
- javascript - Javascript选中复选框结果?
- here-api - 支付往返费用的巨大差异