使用kbone解决Vue项目同时支持小程序问题
什么是kbone
微信小程序开发过程中,许多开发者会遇到小程序与Web端一起的需求,由于小程序与Web端的运行环境不同,开发者往往需要维护两套类似的代码,这对开发者来说比较耗费力气,并且会出现不同步的情况。
为了解决上述问题,微信小程序推出了同构解决方案kbone来解决此问题。
那么,kbone要怎么使用呢?这里我们将通过一个todo的例子来跟大家讲解。
基本结构
首先,我们来看下一个基本的kbone项目的目录结构(这里的todo是基于Vue的示例,kbone也有React,Preact,Omi等版本,详情可移步kbonegithub)。
因为kbone是为了解决小程序与Web端的问题,所以每个目录下的配置都会有两份(小程序与Web端各一份)
入口
不管是小程序端还是Web端,都需要入口文件。在src/index目录下,main.js为Web端用主入口,main.mp.js则为小程序端用主入口。
当然,Web端会比小程序多一个入口页面,即index.html(位于根目录下)。
下面两段代码分别是小程序端入口与Web端入口的代码,可以看到小程序端的入口代码封装在createApp函数里面(这里固定即可),内部会比Web端多一个创建app节点的操作,其他的基本就是一致的。
//小程序端入口 importVuefrom'vue' importtodofrom'./todo.vue' exportdefaultfunctioncreateApp(){ //创建app节点用于绑定 constcontainer=document.createElement('div') container.id='app' document.body.appendChild(container) returnnewVue({ el:'#app', render:h=>h(todo) }) } //web端入口 importVuefrom'vue' importtodofrom'./todo.vue' newVue({ el:'#app', render:h=>h(todo) })
todo.vue
在上面的入口图可以看到,源码目录中,除了入口文件分开之前,页面文件就是共用的了,这里直接使用Vue的写法即可,不用做特殊的适应。
配置
写完代码之后,我们要怎么跑项目呢?这时,配置就派上用场啦。
Web端配置为正常的Vue配置,小程序端配置与Web端配置的唯一不同就是需要引入mp-webpack-plugin插件来将Vue组件转化为小程序代码。
构建代码
接着,我们需要构建代码,让代码可以运行到各自的运行环境中去。构建完成后,生产代码会位于dist目录中。
//构建web端代码 //目标代码在dist/web npmrunbuild //构建小程序端代码 //目标代码在dist/mp npmrunmp
小程序端的构建会比Web端的构建多一个步骤,就是npm构建。
进入dist/mp目录,执行npminstall安装依赖,用开发者工具将dist/mp目录作为小程序项目导入之后,点击工具栏下的构建npm,即可预览效果。
效果
最后,我们来看一下todo的效果。kbone初体验,done~
todo代码可到kbone/demo13自提。
最后
如果你想了解更多kbone相关的使用及详情,可移步kbonegithub。
总结
以上所述是小编给大家介绍的使用kbone解决Vue项目同时支持小程序问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。