最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue異步組件與組件懶加載問題(import不能導(dǎo)入變量字符串路徑)

 更新時(shí)間:2022年04月01日 09:16:16   作者:Alecor  
這篇文章主要介紹了vue異步組件與組件懶加載問題(import不能導(dǎo)入變量字符串路徑),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue異步組件與組件懶加載

在寫項(xiàng)目的時(shí)候,需要?jiǎng)討B(tài)配置路由菜單,所有的菜單都是通過配置生成的,這就意味著菜單的路徑(在vue開發(fā)項(xiàng)目里面就是一個(gè)字符串的路徑)需要異步加載進(jìn)去,但是由于對webpack的import不是很熟悉,所以就有一下的坑需要填了

錯(cuò)誤的原因分析

_import.js
module.exports = file => () => import(file)

在這里插入圖片描述

但是這種方法錯(cuò)誤的原因是:

webpack 編譯es6 動(dòng)態(tài)引入 import() 時(shí)不能傳入變量,例如dir =’path/to/my/file.js’ ; import(dir) , 而要傳入字符串 import(‘path/to/my/file.js’),這是因?yàn)閣ebpack的現(xiàn)在的實(shí)現(xiàn)方式不能實(shí)現(xiàn)完全動(dòng)態(tài)。

解決方案一

可以通過字符串模板來提供部分信息給webpack;例如import(./path/${myFile}), 這樣編譯時(shí)會編譯所有./path下的模塊,但運(yùn)行時(shí)確定myFile的值才會加載,從而實(shí)現(xiàn)懶加載。

在這里插入圖片描述

解決方案二

function lazyLoadView(AsyncView) {
  const AsyncHandler = () => ({
    component: AsyncView,
      // A component to use while the component is loading.
    loading: require('@/view/system/Loading.vue').default,
      // A fallback component in case the timeout is exceeded
      // when loading the component.
    error: require('@/view/system/Timeout.vue').default,
      // Delay before showing the loading component.
      // Default: 200 (milliseconds).
    delay: 200,
      // Time before giving up trying to load the component.
      // Default: Infinity (milliseconds).
    timeout: 10000
  });
  return Promise.resolve({
    functional: true,
    render(h, { data, children }) {
        // Transparently pass any props or children
        // to the view component.
      return h(AsyncHandler, data, children);
    }
  });
}
const My = () => lazyLoadView(import('@/view/My.vue'));
const router = new VueRouter({
  routes: [
    {
      path: '/my',
      component: My
    }
  ]
})

通過上述兩種方法都能夠解決 動(dòng)態(tài)組件的懶加載效果

vue懶加載組件 路徑不對

最近在使用VueRouter的懶加載組件的時(shí)候.

const routes = [
? ? {
? ? ? ? path: '/',
? ? ? ? component: App
? ? },
? ? {
? ? ? ? path: '/category',
? ? ? ? component: resolve => {require(['./components/Category.vue'], resolve)}
? ? }
]

但是在加載/category的時(shí)候,我發(fā)現(xiàn)會報(bào)錯(cuò)。

原來webpack會把這個(gè)懶加載單獨(dú)加載一個(gè)js,默認(rèn)按照

0.app.js 1.app.js ……的順序加載的

通過簡單的debug發(fā)現(xiàn)是0.app.js的路徑不對

通過webpack的設(shè)置即可解決(我使用的laravel,配置根據(jù)情況自行修改)

Elixir.webpack.mergeConfig({
? ? module: {
? ? ? ? loaders: [
? ? ? ? ? ? {
? ? ? ? ? ? ? ? test: /\.css/,
? ? ? ? ? ? ? ? loader: "style!css"
? ? ? ? ? ? }
? ? ? ? ]
? ? },
? ? output: {
? ? ? ? publicPath: "js/"
? ? }
})

配置下output下的publicPath即可。 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • vue日志之如何用select選中默認(rèn)值

    vue日志之如何用select選中默認(rèn)值

    這篇文章主要介紹了vue日志之如何select選中默認(rèn)值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue父組件調(diào)用子組件方法報(bào)錯(cuò)問題及解決

    vue父組件調(diào)用子組件方法報(bào)錯(cuò)問題及解決

    這篇文章主要介紹了vue父組件調(diào)用子組件方法報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue3動(dòng)態(tài)使用KeepAlive組件的實(shí)現(xiàn)步驟

    Vue3動(dòng)態(tài)使用KeepAlive組件的實(shí)現(xiàn)步驟

    在 Vue 3 項(xiàng)目中,我們有時(shí)需要根據(jù)路由的 meta 信息來動(dòng)態(tài)決定是否使用 KeepAlive 組件,以控制組件的緩存行為,所以本文給大家介紹了Vue3動(dòng)態(tài)使用KeepAlive組件的實(shí)現(xiàn)步驟,通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • vue引用外部JS并調(diào)用JS文件中的方法實(shí)例

    vue引用外部JS并調(diào)用JS文件中的方法實(shí)例

    我們在做vue項(xiàng)目時(shí),經(jīng)常會需要引入js,下面這篇文章主要給大家介紹了關(guān)于vue引用外部JS并調(diào)用JS文件中的方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • vue點(diǎn)擊input彈出帶搜索鍵盤并監(jiān)聽該元素的方法

    vue點(diǎn)擊input彈出帶搜索鍵盤并監(jiān)聽該元素的方法

    今天小編就為大家分享一篇vue點(diǎn)擊input彈出帶搜索鍵盤并監(jiān)聽該元素的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue3響應(yīng)式對象的api超全實(shí)例詳解

    vue3響應(yīng)式對象的api超全實(shí)例詳解

    可以把數(shù)據(jù)變成響應(yīng)式api的方法叫做響應(yīng)式api,下面這篇文章主要給大家介紹了關(guān)于vue3響應(yīng)式對象api的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 記一次Vue中$route序列號報(bào)錯(cuò)

    記一次Vue中$route序列號報(bào)錯(cuò)

    本文主要介紹了記一次Vue中$route序列號報(bào)錯(cuò),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • vue3使用echarts并封裝echarts組件方式

    vue3使用echarts并封裝echarts組件方式

    這篇文章主要介紹了vue3使用echarts并封裝echarts組件方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue2.0 keep-alive最佳實(shí)踐

    vue2.0 keep-alive最佳實(shí)踐

    這篇文章主要為大家詳細(xì)介紹了vue2.0 keep-alive的最佳實(shí)踐,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • vue從后端獲取到文件的?url?地址及前端根據(jù)?url?地址下載文件的實(shí)現(xiàn)思路

    vue從后端獲取到文件的?url?地址及前端根據(jù)?url?地址下載文件的實(shí)現(xiàn)思路

    這篇文章主要介紹了vue?中從后端獲取到文件的?url?地址及前端根據(jù)?url?地址下載文件,項(xiàng)目用的是?vben?admin?框架,用的是?vue3?+?TS,后端返回的是文件的?url?地址,對vue后端獲取?url?地址的相關(guān)知識感興趣的朋友一起看看吧
    2024-02-02

最新評論

淅川县| 搜索| 章丘市| 吉安县| 灵璧县| 乌苏市| 永修县| 昭通市| 曲阳县| 汤原县| 衡东县| 保靖县| 深水埗区| 广昌县| 怀化市| 海原县| 枣强县| 砀山县| 利津县| 龙岩市| 临沂市| 汨罗市| 衡南县| 钟山县| 宣威市| 荥经县| 玉溪市| 平南县| 鸡西市| 平谷区| 精河县| 日喀则市| 久治县| 古浪县| 手游| 绍兴县| 永定县| 共和县| 宜宾市| 高淳县| 墨脱县|