vue动态引入js,vue动态引入css
这篇文章主要介绍了状态管理如何动态引入存储模块,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
目录
动态引入商店模块我的目录结构是使用模块时遇到的坑
动态引入store modules
主要解决的问题每次建一个组件需要自己去主索引。射流研究…里面去注册
为了偷懒,也为了避免团队开发时同时对索引。射流研究…进行修改引发冲突
所以在索引。射流研究…中动态的对子目录和模块进行注册
我的目录结构是
从“vue”导入某视频剪辑软件
从" vuex "导入状态管理
Vue.use(Vuex)
const dynamicModules={}
const files=require.context( . ,真,/\。js$/)
const dynamicImportModules=(模块,文件,拆分,索引=0)={
if(index==0 splits[0]== modules ){
指数
}
if (splits.length==index 1) {
if (index==splits[index]) {
模块[拆分[索引- 1]]=文件(文件)。系统默认值
}否则{
模块。模块[拆分[索引]]=文件(文件).系统默认值
}
}否则{
设tmpModules={}
if (index==拆分[索引1]) {
tmp模块=模块
}否则{
模块[拆分[索引]]=模块[拆分[索引]]?模块[拆分[索引]]:{命名空间:真的,模块:{}}
tmp模块=模块[拆分[索引]]
}
dynamicImportModules(tmp模块,文件,拆分,索引)
}
}
files.keys().过滤器(文件=文件!=./index。js’).forEach(文件={
let splits=file.replace(/(\ .\/\.js)/g,").拆分( \/);
动态导入模块(动态模块、文件、拆分)
})
导出默认的新Vuex .商店({
模块:动态模块,
strict: process.env.NODE_ENV!==生产
})
使用modules时遇到的坑
其实也不算坑,只是自己没注意看官网api,定义组件另外命名时,需要在组件中加一个命名空间命名空间:真
属性,否则命名无法暴露出来,导致报[vuex]在mapState()中找不到模块名称空间等错误。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。