MoNaiZi/vue-virtual-keyboard

动态导入字典在 vite 中失效

Opened this issue · 1 comments

使用 vite 时,import() 不能使用绝对路径拼接,只能使用相对路径或者绝对路径字符串,希望修改导入相关代码,移除 '@/'+,并提示用户应该使用 '../'。该功能在 webpack 中可以正常使用。下面是例子:

import('@/dict.json') // 正常
import('../../dict.json') // 正常
var url = '../dict.json'
import(url) // 正常

var url = '@/dict.json' 
import(url) // 报错
var url = 'dict.json'
import(`@/${url}`) // 报错
import('@/' + url) // 报错
var url = 'dict.json'
import('../../' + url) // 报错,但不是无法引用,而是 MIME 不正确

// 该案例使用了 js 而不是 json
var url = 'dict.js'
import('../../' + url) // 正常
// dict.js
import baseDict from "./baseDict.json";
export default baseDict

参考资料:https://stackoverflow.com/questions/72845337/dynamic-import-of-component-does-not-work-with-component-path-from-variable

另外,这个组件在 vite + vue3 项目下基本无法运行,不知道是不是可以在 vue-cli + vue 3 下运行?如果只能在 vue-cli + vue 3下运行的话,能否在介绍中标注出来?