我有如下代碼:
當(dāng)前出問題的截圖
現(xiàn)在會發(fā)現(xiàn)報(bào)錯(cuò):
報(bào)錯(cuò)截圖
實(shí)現(xiàn)的目的:
根據(jù)父級傳遞進(jìn)來的chart圖表名稱,來動態(tài)加載本地的svg圖表拌屏。
但是我發(fā)現(xiàn)如果在import中直接使用模板字符串潮针,那么就會報(bào)錯(cuò):RecommendChatPanel.vue:42 Uncaught (in promise) TypeError: Failed to resolve module specifier
所以之后調(diào)整了一下如圖:
正確執(zhí)行
如圖可以正常執(zhí)行。
判斷到應(yīng)該還是import加載組件時(shí)機(jī)的問題槐壳,而修改后的方法,使用了import.meta,global方法去預(yù)先取出所有符合條件的組件值喜每,接著去調(diào)用并使用defineAsyncComponent來動態(tài)加載就可以了务唐。
image.png
哦對雳攘,vite項(xiàng)目中使用動態(tài)加載svg記得引入vite-svg-loader插件,并在vite.config.js中進(jìn)行配置:
image.png