温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-11-25 10:00:10 来源:亿速云 阅读:396 作者:iii 栏目:开发技术

这篇文章主要介绍“vue3+vite中如何使用import.meta.glob”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue3+vite中如何使用import.meta.glob”文章能帮助大家解决问题。

前言:        

在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”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI