日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

【Vue Laravel-mix】Error with Vue lazy loading components: “Failed to resolve async component“

發布時間:2025/3/20 vue 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Vue Laravel-mix】Error with Vue lazy loading components: “Failed to resolve async component“ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【Vue Laravel-mix】
報錯信息:
Error with Vue lazy loading components: “Failed to resolve async component“
uncaught error during route navigation
cann’t xxxxx 'call ’
bootstrap.js(63)

參考https://github.com/JeffreyWay/laravel-mix/issues/2064 中所有的解決方法,均沒有修改功能

文章目錄

  • 失敗方案:
      • 方法一:刪除每個vue文件中的style標簽及其內容,結果刪除所有style標簽之后,仍報錯(失敗)
      • 方法二:降級 laravel-mix: ^3.0 ,結果會產生css-loader 找不到等其他的錯誤(失敗)
      • 方法三:chunk文件,即在 webpack.mix.js 文件中 `output.chunkFilename: 'js/chunk/[name].js?v=[chunkHash]'`,仍舊報錯(失敗)
      • 方法四:添加異步加載插件`@babel/plugin-syntax-dynamic-import`,
        • 方法四-1:
        • 方法四-2:
  • 成功的分隔線

失敗方案:

方法一:刪除每個vue文件中的style標簽及其內容,結果刪除所有style標簽之后,仍報錯(失敗)

方法二:降級 laravel-mix: ^3.0 ,結果會產生css-loader 找不到等其他的錯誤(失敗)

方法三:chunk文件,即在 webpack.mix.js 文件中 output.chunkFilename: 'js/chunk/[name].js?v=[chunkHash]',仍舊報錯(失敗)

mix.webpackConfig(output: {publicPath: '/', // 不加會報語法錯誤chunkFilename: 'js/chunk/[name].js?v=[chunkHash]' // 分割文件存放位置, }})

方法四:添加異步加載插件@babel/plugin-syntax-dynamic-import,

方法四-1與 方法四-2 本質是一樣的,只是配置方式不一樣哈

方法四-1:

npm install -D @babel/plugin-syntax-dynamic-import# webpack.mix.js mix.babelConfig({plugins: ['@babel/plugin-syntax-dynamic-import'] });

方法四-2:

# babel.rc {"presets": ["@vue/babel-preset-jsx","@babel/preset-env"],"plugins": ["@babel/plugin-syntax-dynamic-import"] }

成功的分隔線

# package.json {"private": true,"scripts": {"dev": "npm run development","development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","watch": "npm run development -- --watch","watch-poll": "npm run watch -- --watch-poll","hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js","prod": "npm run production","production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"},"devDependencies": {"admin-lte": "^3.0.5","axios": "^0.19.2","bootstrap": "^4.5.2","cross-env": "^5.2.1","css-loader": "^1.0.0","echarts": "^4.9.0","element-ui": "^2.13.2","jquery": "^3.5.1","js-sha256": "^0.9.0","laravel-mix": "^5.0.7","lodash": "^4.17.20","resolve-url-loader": "^3.1.0","sass": "^1.29.0","sass-loader": "^8.0.2","vue": "^2.6.12","vue-clipboard2": "^0.3.1","vue-fullscreen": "^2.1.6","vue-loader": "^15.9.3","vue-router": "^3.4.3","vue-style-loader": "^4.1.2","vue-template-compiler": "^2.6.12"} } # webpack.mix.js const mix = require('laravel-mix');/*|--------------------------------------------------------------------------| Mix Asset Management|--------------------------------------------------------------------------|| Mix provides a clean, fluent API for defining some Webpack build steps| for your Laravel application. By default, we are compiling the Sass| file for the application as well as bundling up all the JS files.|*/mix.js('resources/js/app.js', 'public/js').sass('resources/sass/app.scss', 'public/css').version().webpackConfig({externals: {'vue': 'Vue', //這些是你不需要webpakc幫你打包的庫'vue-router': 'VueRouter','element-ui': 'ELEMENT', //這個比較坑 一開始以為是ElementUI結果就報錯了,},output: {publicPath: '/', // 不加會報語法錯誤chunkFilename: 'js/chunk/[name].js?v=[chunkHash]' // 分割文件存放位置}}).sourceMaps(); # 父組件: <template><child></child> </template> <script> 報錯方式: import child from "../components/child"; export default {components: {child,}, }運行正常方式: export default {components: {child: ()=>import("../components/child"),}, } </script>

總結

以上是生活随笔為你收集整理的【Vue Laravel-mix】Error with Vue lazy loading components: “Failed to resolve async component“的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。