2023vue3+vite中如何使用import.meta.glob

 所属分类:web前端开发

 浏览:133次-  评论: 0次-  更新时间:2023-05-14
描述:更多教程资料进入php教程获得。 前言: 在vue2的时候,我们一般引入多个js或者其他文件,一般使用 require.context 来...
更多教程资料进入php教程获得。

前言:

在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)
}, {})
登录后复制

vue3中使用 import.meta.glob

vue3+vite中如何使用import.meta.glob

具体方法:

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的详细内容,更多请关注zzsucai.com其它相关文章!

积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!