手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2023年01月7日的文章

vue3中require被报equire is not defined

 require这玩意不属于vite的功能,也不是vue的功能,我没有用webpack,所以无法直接用require。

但因为参考的项目用了require.context的遍历,所以就在想应该怎么弄呢。查了一下资料,发现vite有提供现成的:import.meta.glob,用法和 require.context差不多。
 
参考一下:功能 | Vite 官方中文文档 (vitejs.dev)
 
原来的代码: const requireModules = require.context('./modules/', true, /index\.(ts|js)$/iu)
 
修改后的代码:const requireModules = import.meta.glob('./modules/*/index.(ts|js)')
只是原来requireModules还是一个function,而修改后的是一个Object,因此遍历的代码就要再改一下,比如原来可以直接requireModules.keys(),现在只能用Object.keys(requireModules)。
 
至此,修改完毕。