我的httpVueloader

290 阅读2分钟

image.png

这个一开始是自己需要写h5的项目,个人表示用了vue.js就回不去jQuery了,但是页面又很多,为了方便维护我就开始在网上找vue在浏览器上面的loader,后面找到了httpVueLoader,这个工具已经很好了,但是不太符合我自己的想法,所以我就自己写了一个BrowseVueLoader

支持less解析和相对路径引用,用了很多工具,一开始打包出来又300kb+,现在打包出来就180kb+

基础用法

BrowseVueLoader.urlFileToVue("/NavigationCom.vue",[  
    ['getImgSrc',getImgSrc], // 组件里面用到的额外的数据  
    ['easeInOutCubic',easeInOutCubic],  
]).then(res=>{
    const com = res
})

异步加载

components: { // 异步加载组件列子  
KeyIndexItemCom: BrowseVueLoader.urlFileToVueAsync('./vue/KeyIndexItemCom.vue', OtherParams)  
},  

相对路径

// 在vue文件内部可以使用相对路径,但是一定要使用./开头,会使用当前文件去处理生成正确的url去请求,这个只是为了方便代码提示  
// 如果是用~开头那么就是表示绝对路径,解析的时候就是会把url中的~删除然后把url直接去请求  
// 使用相对路径  
ArrowCom: () => import('./ArrowCom.vue',OtherParams) // () => import固定写法包括空格和不允许换行,会替换成BrowseVueLoader.urlFileToVueAsync  

样式外部导入

一定要顶格写

@import "~./555"; 这个表示绝对路径导入

@import "./555"; 这个表示相对路径导入

使用了@import导入的文件自己也可以支持@import

全局样式导入

BrowseVueLoader.addGlobalCss('less','@import "xxxx";')  

错误定位

如果Vue错误无法捕获,浏览器会捕获异常,点VMXXX这个东西就可以定位,然后拉倒最下面就可以看到错误文件地址

README-1686021839302.png

README-1686021859825.png

样式中URL支持相对路径

在js或者模板中支持URL相对路径

require(".*") ----> "相对于页面正确的url"

列子:require("./../img/scblue.png") ----> "./../img/scblue.png"

元素文件定位

元素上面都会有一个zhixin-path-xxxx的属性,这个属性就是文件地址,但是因为属性里面不支持.和/所以进行了替换成-

代码解析无