​ 昨晚睡前打开了半个月没打开的知乎, 看到了一个专栏文章再见jquery,我的老朋友,突然想到之前github传出,github已经彻底删除jquery,这似乎标志着前端已经完全进入了一个新的时代,js从最开始的小丑语言,现在已经成为一个非常优秀的编程语言,开发者的目光从兼容性一步步的转向了模块化

​ 前端发展如此之快,作为前端开发者对前端快速发展欣喜的同时,让我倍感压力,不能停止学习,废话就说这么多吧

​ 7月多在github上面偶然看到了mpvue,当时感觉眼前一亮,用vue写小程序怎么实现的,,后来看了他们的文档,感觉挺不错的,在慕课网上面看了蜗牛老师的mpvue实战项目,决定好好学习一下,看看vue+小程序是怎么样的开发体验~~~

​ 首先谢谢老师,课非常不错,基本完成项目对小程序和mpvue都有不错的了解,还对koa2进行讲解,墙裂推荐!页面上主要是这样的

主要是数据库哪一块,跟着老师打,很多都看不懂,虽然是knex ,但是语法基本就是mysql

let book = await mysql('books')
.select('books.*', 'csessioninfo.user_info')
.join('csessioninfo', 'books.openid', 'csessioninfo.open_id')
.limit(size)
.offset(Number(page) * size)
.orderBy('books.id', 'desc')

类似这样的,mysql白学了,很多都忘了,后面恶补了mysql

有些比较坑人的地方,

  1. 添加页面需要重启(这也不算坑)

  2. 登录事件需要用@getuserinfo 官网没有说明,害得我用vue的@click调试登录bug半个月

  3. wx原生事件不可以写在methods里面,有说明,但是还是才踩到了坑,不小心把下拉事件写到methods里面

  4. 最好不要在mpvue没有启动的时候变动代码,因为假如代码有错误,mpvue可能会卡在启动的地方

  5. 引用static里面的资源,不可以写项目路径 按build后的路径写 /static/text.png ,而不是vue项目里面的路径

  6. 小程序内部跳转路径../write/main 应该这么写,不可以使用vue-router很遗憾

  7. 报错pages/xxx/xxx.js 出现脚本错误或者未正确调用 Page(),因为vue文件不可以为空。。。

    当然很多坑并不是因为mpvue,而是小程序自带的,我仅仅总结一下

下面说说开发中感觉mpvue的优点吧

  1. 使用vue开发可以组件化,感觉很舒服
  2. 对已经会vue的开发者来说,几乎没有学习成本
  3. 几乎不用关系页面配置文件,只要指定主页就好了

细说的话优点就很多啦,因为基于vue,使用一个成熟的框架写小程序,是很舒服的,前期坑比较多,但是熟练了,就会感觉mpvue写小程序是,相对于原生wx语法,体验不是一个级别呢

​ 总的来说,蜗牛老师的实战课程挺不错的,学会了很多,对koa2也有了更好的了解

下面是我这个mpvue项目的地址

豆瓣读书微信小程序

​ 感谢美团给我们带来mpvue,希望他越来越好

第一次使用mpvue的小记的更多相关文章

  1. mpvue开发小记

    1.组件嵌套组件时,子组件作用域bug 组件A内的slot包含子组件B的话,无法正常使用变量(这种情况下,B组件的template错误地使用了A的作用域). 我的解决方案:减少一层组件提炼,即这种情况 ...

  2. 小记:使用SharedPreferences存储来设置程序第一次进入欢迎界面,以后不会再进入欢迎界面。

    SharedPreferences mSharedPreferences = this.getSharedPreferences(NAME, this.MODE_PRIVATE); boolean f ...

  3. ConCurrent in Practice小记 (3)

    ConCurrent in Practice小记 (3) 高级同步技巧 Semaphore Semaphore信号量,据说是Dijkstra大神发明的.内部维护一个许可集(Permits Set),用 ...

  4. DOM性能小记

    在使用DOM操作时,同样的效果用不同的方式来实现,性能方面也会有很大的差异.尤其在移动式设备上,资源本来就很有限,一旦DOM写不好的话操作就会非常卡顿.这个周末,就写个DOM性能小记吧.错漏之处,望多 ...

  5. eclipse在Ubuntu 13.04下的安装过程及问题小记

    一.eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包 下载地址:http://www.eclipse.org/downloads/? ...

  6. 实习小记-python 内置函数__eq__函数引发的探索

    乱写__eq__会发生啥?请看代码.. >>> class A: ... def __eq__(self, other): # 不论发生什么,只要有==做比较,就返回True ... ...

  7. JavaScript 闭包小记

    最近朋友面试被问到了 JS 闭包的问题,本人一时语塞,想起了袁华的一句话:“这道题太难了,我不会做,不会做啊!”. JS 闭包属于面向对象的一个重要知识点,特此本人又开始了一段说走就走的旅程. 闭包就 ...

  8. 美团小程序框架mpvue蹲坑指南

    美团小程序框架mpvue(花名:没朋友)蹲坑指南 第一次接触小程序大概是17年初,当时小程序刚刚内侧,当时就被各种限制折腾的死去活来的,单向绑定, 没有promise,请求数限制,包大小限制,各种反人 ...

  9. 编剧小记 — Contour

    前言 Contour 是一款比较优秀的编剧辅助软件,按理说这篇文章应该归类到mac小记中,但其操作非常简单,基本上以写作提示为主.只怪所有提示都是英语,而且很多,每次使用打开 Contour 个别单词 ...

随机推荐

  1. web安全-XSS

    了解XSS的定义 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻 ...

  2. 千里之堤毁于蚁穴(慎用HD Wallets)

    转自:http://blog.sina.com.cn/s/blog_12ce70a430102vbu9.html 千里之堤毁于蚁穴(慎用HD Wallets) -- 随机系列谈之四 现在我们都该明白, ...

  3. SpringMVC学习(四)——处理器Handler的各种常用实现

    代码:http://files.cnblogs.com/files/douJiangYouTiao888/MultiActionController.zip 在使用springMVC的开发过程中,Ha ...

  4. Android学习——自定义控件(二)

    这篇文章来介绍自定义组合控件,自定义组合控件的应用场景很多,比如当你的UI如下时: 倘若不使用组合控件,则需要在XML文件中声明4个TextView和4个EditText,而使用了组合控件,则只需要四 ...

  5. Subversion FAQ(常见问题解答)

    转自:http://subversion.apache.org/faq.zh.html 常见问题: 为什么会有这样一个项目? 为了接管CVS的用户基础.确切的说,我们写了一个新的版本控制系统,它和CV ...

  6. javascript实现的动态添加表单元素input,button等(appendChild)

    写一个小系统时,需要动态添加表单元素,按自己的实现方法写了这篇教程! 我想各位在很多网站上都看到过类似的效果! 1.先用document.createElement方法创建一个input元素! 代码如 ...

  7. PowerShell管理Hyper-V(Windows2008R2)

    gwmi -list -namespace "root\virtualization" 在Windows2012R2之前的版本,Hyper-V管理都是用的root\virtuali ...

  8. CVE-2015-1642 POC

    月初,玄武实验室的“每日安全动态”推送了一篇office UAF漏洞利用的文章,之前对office上UAF漏洞利用占位问题有些疑问,刚好就借助这篇文章重现了一下.其中堆喷射部分不是特别稳定,漏洞成因和 ...

  9. 105 + 106. Construct Binary Tree from Preorder and Inorder Traversal (building trees)

    Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume that ...

  10. C#配置IIS搭建网站的工具类

    public class IISWorker { public static string HostName = "localhost"; /// <summary> ...