这个一开始是自己需要写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这个东西就可以定位,然后拉倒最下面就可以看到错误文件地址
样式中URL支持相对路径
在js或者模板中支持URL相对路径
require(".*") ----> "相对于页面正确的url"
列子:require("./../img/scblue.png") ----> "./../img/scblue.png"
元素文件定位
元素上面都会有一个zhixin-path-xxxx的属性,这个属性就是文件地址,但是因为属性里面不支持.和/所以进行了替换成-