vue项目引入json/js文件批量或单个方法

vue项目

json

javascript 复制代码
// 方式一 : 将文件内容完整的引入
import json from './src/assets/xxx.json'
console.log(json)
console.log('---')

// 方式二 : 部分引入-名称必须是文件中定义的key
import {name1,name2} from './src/assets/xxx.json'
console.log(name1)
console.log(name2)

js

javascript 复制代码
import '../xxxxx.js';
批量引入
javascript 复制代码
//三级边框
let lnglatJson = loadFrames (require.context('../assets/js/lnglatJson', false, /\.js$/))

/**
 * 批量加载js
 * @param {Function} context - require.context 创建的函数
 * @returns {Array<string>} 返回的所有js
 */
function loadFrames (context) {
  const frames = {}
  context.keys().forEach(k => {
    if(k.includes('anyang')){
      frames['xx']=context(k)
    }else if(k.includes('hebi')){
      frames['xx']=context(k)
    }else if(k.includes('xinxiang')){
      frames['xxx']=context(k)
    }
  })
  return frames
}
export default {lnglatJson}

vite项目

json

javascript 复制代码
//单个
import.meta.glob('./languages/**/*.json', {
    import: 'default',
    eager: true,
  })
javascript 复制代码
//json导入
//批量
(async function(){
  let jsonFiles =await import.meta.globEager('../../../../public/js/map/json/*.json');
  console.log(jsonFiles)
  let jsonData={}
  for (let filePath in jsonFiles) {
    const fileData = jsonFiles[filePath].default;
    jsonData[filePath.replace(/.*\//, '')] = fileData; // 移除路径前缀
  }
  console.log(jsonData)
})()
//写在函数中
onMounted(async () => {
   let jsonFiles =await import.meta.globEager('../../../../public/js/map/json/*.json');
  console.log(jsonFiles)
  let jsonData={}
  for (let filePath in jsonFiles) {
    const fileData = jsonFiles[filePath].default;
    jsonData[filePath.replace(/.*\//, '')] = fileData; // 移除路径前缀
  }
  console.log(jsonData)
});

js

javascript 复制代码
//js导入
import '../../../../public/js/map/yunnan.js';
//云南导入
const files = import.meta.globEager("../../../../public/js/map/yunnan/*")
let AllPics = Object.values(files).map((v) => v.default);
相关推荐
愤怒的山羊26 分钟前
jetcache List 缓存, json 序列化 泛型解析成了 JsonObject 处理
缓存·json·list
hhcccchh32 分钟前
学习vue第七天 从单页面应用(SPA)进化为后台管理系统架构
vue.js·学习·系统架构
sen_shan1 小时前
《Vue项目开发实战》第八章:组件封装--vxeGrid
前端·javascript·vue.js
2***57421 小时前
Vue项目国际化实践
前端·javascript·vue.js
3秒一个大1 小时前
JavaScript 作用域:从执行机制到块级作用域的演进
javascript
星空的资源小屋1 小时前
VNote:程序员必备Markdown笔记神器
javascript·人工智能·笔记·django
摇滚侠1 小时前
Vue 项目实战《尚医通》,实名认证模块静态的搭建,笔记53
vue.js·笔记
程序员爱钓鱼2 小时前
使用简单 JSON + 自定义 t 函数实现轻量多语言国际化(无需 next-intl)
前端·javascript·trae
一 乐2 小时前
助农平台|基于SprinBoot+vue的助农服务系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·ecmascript·springboot
●VON2 小时前
Electron 小游戏实战:太空打砖块(Space Breakout)
前端·javascript·electron