vue import(變量) 出錯用require代替


最近在做一個項目,搭建項目的時候,有一個需求是動態引入菜單,也就是每一個角色的路由都是通過后台獲取后再通過addRoutes注冊,從中就遇到了問題。

我們知道,一個路由,需要先引入組件,例如 import xxx from ‘@/views/xxx’  ,component:xxx  這樣,也就是component后面的值是一個組件,而不是”xxx“一個字符串,但是現在問題是,我從后端請求回來的是肯定是關於組件存放位置的字符串,不是該組件!

所以怎么根據組件存放信息的字符串去引入對應的組件呢,我們肯定想到了import ,但是webpack 卻規定了,import() 括號里跟的不能是變量,這個犯難了,所以該怎么辦?

 我們其實用require代替,

  新建一個文件,import.js,

module.exports = file => require('@/views/' + file + '.vue').default

 

在你導入路由的文件 寫入

const _import = require('./import.js)

然后這樣使用

route['component'] = _import(`modules/${menuList[i].url}`) || null

就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM