手把手带你入门微信小程序新框架Kbone的使用

来自:互联网
时间:2020-05-27
阅读:

Kbone 框架

前些天在微信上收到了微信开发者公众号的文章推送《揭开微信小程序Kbone的神秘面纱》,心想:微信小程序有新框架了?抱着学习的态度点进去看了一眼,看过之后觉得这框架也太宠开发者了吧,不愧是微信团队出品。

原来这个框架早在去年就已经发布了,看完只恨自己没有早点知道消息开始学习这个框架。我写本文的目的也是为了跟个风,想要让更多的人能够知道这个框架,感受它的便利,希望好学的你可以停下脚步看看~

Kbone 是什么?

看到这里我也不多说了,简单介绍一下 Kbone 是什么。用官方高大上的话来说:

Kbone 是一个致力于微信小程序和 Web 端同构的解决方案,在适配层里模拟出浏览器环境,让 Web 端的代码可以不做什么改动便可运行在小程序里。

用简单粗暴一点的话来说,Kbone 这个框架可以让你只需要写一份代码,就能够在两端运行,只需要进行一些配置,轻松跑小程序和 Web 两个端。

Kbone 初探 --- todoList

吹了这么多,也该上手写代码了。刚开始入门 Kbone,我们从一个简单的 todoList 开始,当然,官方也提供了一系列的demo,我也参考了官方给的 demo。Talk is cheap,let's see the code ~

预览

正式开始之前我们先看看效果图,感受一下 Kbone 框架一份代码跑两端的神奇

手把手带你入门微信小程序新框架Kbone的使用

开发准备

安装脚手架/初始化项目

npm install -g kbone-cli 
kbone init to-do-list

代码构建

npm run build

(具体的页面介绍后面会讲到)

Coding

来到 src/home/index.vue,项目的首页入口放在这里(至于为什么是这里,后面同样会介绍到)
在这里直接写业务代码就可以了,为了不使文章显得臃肿,有兴趣的可以看我的源码。

项目运行

小程序端:npm run mp Web端: npm run web

通过两个命令把项目运行起来你就会发现 Kbone 的神奇之处,通过一份代码(这里我是基于 Vue)你就可以拥有两端的效果,再也不用担心同时维护两份代码了。

Kbone 进阶 --- 多页开发

刚才做了一个比较简单的 todoList,对 Kbone 进行了一个简单的了解,到这里正式进入重点,接下来我们就来详细的讲讲它的使用和多页开发。

Kbone 目录了解

├─ build
│ ├─ miniprogram.config.js // mp-webpack-plugin 配置
│ ├─ webpack.base.config.js // Web 端构建基础配置
│ ├─ webpack.dev.config.js // Web 端构建开发环境配置
│ ├─ webpack.mp.config.js // 小程序端构建配置
│ └─ webpack.prod.config.js // Web 端构建生产环境配置
├─ dist
│ ├─ mp      // 小程序端目标代码目录,使用微信开发者工具打开,用于生产环境
│ └─ web     // web 端编译出的文件,用于生产环境
├─ src
│ ├─ common     // 通用组件
│ ├─ mp      // 小程序端入口目录
│ │ ├─ home    // 小程序端 home 页面
│ │ │ └─ main.mp.js  // 小程序端入口文件
│ │ └─ other    // 小程序端 other 页面
│ │  └─ main.mp.js  // 小程序端入口文件
│ ├─ detail     // detail 页面
│ ├─ home     // home 页面
│ ├─ list     // list 页面
│ ├─ router     // vue-router 路由定义
│ ├─ store     // vuex 相关目录
│ ├─ App.vue    // Web 端入口主视图
│ └─ main.js    // Web 端入口文件
└─ index.html    // Web 端入口模板

通过官方给我们的这个目录结构,我们可以很清晰的看到每个目录下各个文件的作用。这里我就对其中的一些文件进行解释一下。

miniprogram.config.js

这个文件是关于小程序端的一些配置,类似于原生的 json 配置

webpack.mp.config.js

小程序端构建配置,也就是构建小程序端代码的 webpack 配置,多页开发中会用到其中的一部分配置。

src/mp & main.mp.js

mp 用来存放小程序端的入口文件,这里设置小程序的一些页面,main.mp.js 相当于一个挂载操作,把它看成 mpvue 里面的 main.js 比较好理解,设置页面路由和挂载映射 Vue 里面的页面。

(其他的比较好理解,我就不一一赘述了)

Kbone 多页开发

因为作者之前写了一个微信小程序的高仿项目,有兴趣的可以去看看:

返回顶部
顶部