1.2.8 • Published 2 years ago
m2v v1.2.8
m2v
微信小程序(组件)代码转Vue(组件)代码
Wechat applet code into Vue code
only component transformations are supported !!!
Scripts
npm i m2v
Use
const path = require('path')
const { transform } = require('m2v')
const resolve = (file) => {
return path.resolve(__dirname, file)
}
// 入口的微信小程序组件文件夹
const entry = resolve('./components/')
// 编译后的Vue组件文件夹
const output = resolve('./outComponents/')
transform(entry, output)
转换逻辑
- 若目录存在
.wxml
, 则作为组件进行转换 - 若不存在
.wxml
, 但存在.wxss
, 则作为样式文件单独转换 - 若既不存在
.wxml
, 也不存在.wxss
, 则直接拷贝文件,不进行任何处理
转换实现
小程序规则 | vue规则 | 是否实现 |
---|---|---|
.wxml, .json, .wxss, .js 文件合并转换成vue单文件 | .json文件只取文件引用部分, .wxml抓换成template, .js 转换成script部分, .wxss转换成style部分 | 已实现 |
wx api 转成vue实例方法 | 由于web端的限制,只实现部分sdk功能,现统一转成this.$xxx语法,项目中使用需要单独挂载,部分sdk参考wx-web-sdk | 已实现 |
.wxs 转成 vue.filter | .wxs在.wxml引用规则被限制,语法需转成vue.filter,在重写.wxml上的.wxs语法规则,转成vue filter语法 | 未实现 |
tips
- 只支持lifetimes 里的生命周期,钩子函数有created, attached, ready, moved, detached, error(若写在了lifetimes对象外,请统一移到lifetimes中)
1.2.0
2 years ago
1.2.8
2 years ago
1.2.6
2 years ago
1.2.5
2 years ago
1.1.15
2 years ago
1.1.13
2 years ago
1.1.23
2 years ago
1.1.22
2 years ago
1.1.20
2 years ago
1.1.26
2 years ago
1.1.24
2 years ago
1.1.9
2 years ago
1.1.7
2 years ago
1.1.5
2 years ago
1.1.1
2 years ago
1.0.10
2 years ago
1.0.8
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago