本篇内容介绍了“vue3+vite中怎么使用import.meta.glob”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为陕州企业提供专业的做网站、成都网站制作,陕州网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
在vue2的时候,我们一般引入多个js或者其他文件,一般使用 require.context 来引入多个不同的文件,但是vite中是不支持 require的,他推出了一个类似的功能,就是用import.meta.glob来引入多个,单个的文件。 这里说说他们的对比和区别: vue2 中使用 require 来引入多个不同的js文件
1、引入 modules 下的所有的js文件
const modulesFiles = require.context('./modules', true, /\.js$/)
2、循环,拿到每个js文件的名称和js返回的具体内容
modulesFiles.keys().reduce((modules, modulePath) => { // 名称:从 './app.js' 取到 'app' const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1') // 内容,每个js中export default 返回的内容 const value = modulesFiles(modulePath) }, {})
1、引入 modules下面的所有的js文件
const modulesFiles = import.meta.glob('./modules/*.js',{ eager: true }); // 异步方式
2、拿到具体文件名称和文件内容
let modules = {} for (const [key, value] of Object.entries(modulesFiles)) { //名称 因为这里拿到的是 ./modules/app.js ,所以需要两层处理 var moduleName = key.replace(/^\.\/(.*)\.\w+$/, '$1'); const name = moduleName.split('/')[1] //具体的内容,都是每个js中返回值 value.default modules[name] = value.default }
“vue3+vite中怎么使用import.meta.glob”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!