Skip to content

Commit e116a7a

Browse files
authored
Merge pull request #20 from mpvue/develop
Develop
2 parents 1b4604c + c54522c commit e116a7a

File tree

5 files changed

+56
-0
lines changed

5 files changed

+56
-0
lines changed

docs/assets/mpvue-lint/1.png

127 KB
Loading

docs/assets/mpvue-lint/2.jpg

35 KB
Loading

docs/build/mpvue-lint.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# mpvue-lint
2+
3+
>针对很多需要h5和小程序页面同构开发的场景,开发者会出现很多h5的vue组件直接搬到mpvue中调试的开发流程。虽然mpvue支持大部分的vue语法,但是仍有些边界
4+
情况需要开发者自行处理。为了提升开发效率,我们提供mpvue-lint插件。目前有两个功能模块,语法检查模块和内存检查模块
5+
6+
# mpvue-lint 语法检查
7+
语法检查模块,mpvue-lint检测h5版本的vue组件是否符合mpvue语法规则
8+
9+
##使用方法 npm install mpvue-lint
10+
构建流中调用,传入entry(array) ,要检查的入口Vue文件列表 ,示例代码:
11+
```javascript
12+
const mpvueLint = require('mpvue-lint')
13+
mpvueLint.build(
14+
{
15+
entry:
16+
[
17+
path.resolve('mpvue/page/worldcup/home/index.vue'),
18+
path.resolve('mpvue/page/worldcup/card_detail/index.vue'),
19+
path.resolve('mpvue/page/worldcup/activity_rules/index.vue')
20+
]
21+
})
22+
```
23+
24+
如果有引用路径的错误,会报白色提示</br>
25+
如果有template错误,比如组件上用class,绑定click事件等会报**红色**错误名,文件名,和组件名</br>
26+
如果Vue文件方法里有写法错误,如使用zepto,window,document等,会报**红色**错误名,文件名,方法名,行号</br>
27+
如果想自定义需要报错的函数调用,请按照**mpvuelint.json**里的格式添加你的函数名,例如,"zepto":true会在 vue文件中所有调用zepto的地方报错提醒</br>
28+
lint检查非强制阻拦编译过程,FE同学自己根据提醒修改业务代码
29+
30+
运行结果如图:</br>
31+
<img src="../../assets/mpvue-lint/1.png" width="800" alt="语法检查">
32+
33+
# mpvue-trace 内存检查
34+
>内存检查模块,mpvue-trace辅助开发者检查操作时数据更新的变化,因为最后小程序更新数据需要调用setData接口,而setData小程序真机是
35+
通过把JSON对象转换字符串传递给实际的页面的,大块数据会造成页面卡顿,甚至极端情况会造成页面少渲染一部分(更新数据过大会丢弃一部分更新)。
36+
为了开发者更直观看到mpvue页面每次更新数据量,这个插件会检查每次数据更新后500ms内整个页面的数据更新总量。
37+
38+
##使用方法 npm install mpvue-lint
39+
在mpvue/你的工作目录/你的页面目录/main.js中加入如下引用
40+
```javascript
41+
const mpvueTrace = require('mpvue-lint/mpvue-trace')
42+
mpvueTrace.trace(Vue); //Vue是当前页面中的Vue实例
43+
```
44+
##使用注意!
45+
上面的调试代码会监听Vue.$updateDataToMP方法并把更新数据转字符串计算大小,会有一定性能损耗,仅做调试trace用,**上线代码一定要去除**
46+
47+
#源码
48+
49+
> mpvue-lint的源码已在github上开源[github 地址请参见](https://github.com/mpvue/mpvue-lint) 欢迎开发者们根据自己项目的情况灵活增减功能
50+
51+
源码基本原理图:</br>
52+
<img src="../../assets/mpvue-lint/2.jpg" style="margin:0 auto;display:block;" width="400" alt="语法检查流程">
53+
54+

docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ Owl.start({
5454
- [mpvue-webpack-target](/build/mpvue-webpack-target) webpack 构建目标
5555
- [postcss-mpvue-wxss](/build/postcss-mpvue-wxss) 样式代码转换预处理工具
5656
- [px2rpx-loader](/build/px2rpx-loader) 样式转化插件
57+
- [mpvue-lint](/build/mpvue-lint) 开发辅助插件,包括语法检查,内存检查等功能
5758
- 其它
5859

5960

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ pages:
1414
- [build/mpvue-webpack-target.md, Build ]
1515
- [build/postcss-mpvue-wxss.md, Build]
1616
- [build/px2rpx-loader.md, Build]
17+
- [build/mpvue-lint.md, Build]
1718
- [qa.md, Q&A]
1819

1920
extra:

0 commit comments

Comments
 (0)