网站首页 > 技术文章 正文
vue2中想动态引入资源,而且涉及到if else 的判断条件的 ,类似于vue/index.js 中的
if (process.env.NODE_ENV === 'production') {
module.exports = require('./dist/vue.cjs.prod.js')
} else {
module.exports = require('./dist/vue.cjs.js')
}
而这个require是内部封装。我们项目中又不是直接引用。 而且用 import 又不能用到if else 的局部中
采用 import.meta.globEager 方法代替require导入资源。比如下面根据的引入mockjs ,可以把这段放在main.js中
// 非生产环境, 适配mockjs模拟数据 // api: https://github.com/nuysoft/Mock
if (process.env.NODE_ENV !== 'production') {
//debugger
const allmockfiles= import.meta.globEager( '@/api/allmock.js')
}
而不是要引用某个目录下的文件的话,比如我下面的中英文
//提示信息仅供在开发环境生效
import { createI18n } from 'vue-i18n';
import store from '@/store'
const files= import.meta.globEager( './modules/*.js')
let messages ={}
Object.keys(files).forEach((c )=> {
const module = files[c].default
const moduleName =c.replace( /^\.\/(.*)\/(.*)\.\w+$/, '$2')
messages[moduleName] = module
})
//const lang = store.state.app.lang || navigator.userLanguage || navigator.language // 初次进入,采用测览器当前设置的语言,然认采用中文
const lang = navigator.userLanguage || navigator.language
const locale = lang.indexOf('en')!== -1 ? 'en':'zh-cn'
const i18n = createI18n({
legacy: false,
__VUE_I18N_LEGACY_API__: false,
__VUE_I18N_FULL_INSTALL__: false,
locale: locale,
fallbackLocale:'zh-cn',
messages
})
document.querySelector( 'html' ).setAttribute( 'lang', locale)
export default i18n
其中用到的加载的部分核心就是,要的人也可以在forEach方法里面自己加判断条件
const files= import.meta.globEager( './modules/*.js')
let messages ={}
Object.keys(files).forEach((c )=> {
const module = files[c].default
const moduleName =c.replace( /^\.\/(.*)\/(.*)\.\w+$/, '$2')
messages[moduleName] = module
})
猜你喜欢
- 2025-08-06 如何阅读Linux内核源码?Linux内存管理中SLAB分配器(源码分析)
- 2025-08-06 关于读取smbios数据
- 2025-08-06 内存管理:Malloc缺页中断不同情况处理总结
- 2025-08-06 android 功耗分析方法和优化(1)
- 2025-08-06 Tenda AX12 路由器设备分析(一)
- 2025-08-06 译见:从理论到实践,基于Java的开源大数据工具
- 2025-08-06 全新 MQTT 订阅、BLOB 类型:TDengine 时序数据库 最新版本亮点速览
- 2025-08-06 NXP Steps Up China Push as EV Boom Reshapes Global Chip Landscape
- 2025-08-06 Why China is irreplaceable in supply chain
- 2025-05-24 ROS2 Jazzy:用C++实现一个动作服务器和客户端
- 08-06中等生如何学好初二数学函数篇
- 08-06C#构造函数
- 08-06初中数学:一次函数学习要点和方法
- 08-06仓颉编程语言基础-数据类型—结构类型
- 08-06C++实现委托机制
- 08-06初中VS高中三角函数:从"固定镜头"到"360°全景",数学视野升级
- 08-06一文讲透PLC中Static和Temp变量的区别
- 08-06类三剑客:一招修改所有对象!类方法与静态方法的核心区别!
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (70)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)