mpvue学习笔记(二)
六、mpvue入门
1、安装
$ vue init mpvue/mpvue-quickstart my-project
$ cd my-project
$ npm install
$ npm run dev
2、目录结构

3、语法对比
- 生命周期
主要用vue的生命周期,如created 创建初始化;vue不支持的 用小程序自带的 如onPullDownRefresh
- 模板语法
computed+模板+熟悉的html
- 动态style和class使用计算属性返回字符串
- v-if和v-for用法不变
- 表单v-model全支持
- 模板
除了动态渲染,别的都支持(如:插槽slot不太好用)
- .vue单文件组件
- 小程序自带组件也可以用
- 自带组件事件绑定也使用vue的,如@click
- 新增页面 - 需要重新build以生成新的app.json
4、vue语法+小程序自带组件+小程序Api
七、koa是什么
基于nodejs平台的下一代web开发框架
- Express原班人马打造,更精简
- Async+await处理异步
- 洋葱圈型的中间件机制
1、安装
$ mkdir koa-demo
$ cd koa-demo
$ npm init
$ npm install koa --save
在项目中新建server.js:
const Koa = require('koa')
const app = new Koa()
app.use(async(ctx, next) => {
ctx.body = 'hello koa'
})
app.listen(3000)
PS:
1.ctx是什么?
是我们访问的上下文,封装了一个完整的请求request和响应response
2.next是什么?
是下一个中间件

app.use就相当于一个中间件机制,每个中间件都相当于一个环,网络请求会从每个环穿过去,所以每个环就进入两次,先进入中间件1再进入执行下一个中间件2,走到最外层又从中间件2返回到中间件1,所以形成一个洋葱圈模型,所以我们能够在每个中间件内部分别获取到网络请求的之前和请求之后的内容,比如:想做些时间的统计,就是非常方便的。
例:
app.use(async(ctx, next) => {
ctx.body = '1'
// 下一个中间件
next()
ctx.body += '2'
})
app.use(async(ctx, next) => {
ctx.body += '3'
// 下一个中间件
next()
ctx.body += '4'
})
app.use(async(ctx, next) => {
ctx.body += '5'
// 下一个中间件
next()
ctx.body += '6'
})
// 运行结果:135642
PS: 此处的next()的作用就是为了去执行下一个中间件
3.app是什么?
启动应用
4.async+await处理异步
例1:
function delay(word) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('hello' + word)
}, 2000)
})
}
async function start() {
const word1 = await delay('孙悟空')
console.log(word1)
const word2 = await delay('猪八戒')
console.log(word2)
const word3 = await delay('沙悟净')
console.log(word3)
}
start() // 打印结果:每隔2秒打印 hello孙悟空 hello猪八戒 hello沙悟净 例2:
新建koa-logger.js:
2、koa-router
安装
$ npm install koa-router --save
使用
const Koa = require('koa')
const Router = require('koa-router')
const app = new Koa()
const router = new Router()
router.get('/', (ctx, next) => {
ctx.body = '我是首页'
})
router.get('/zhuzhu', (ctx, next) => {
ctx.body = '我是子页面'
})
八、腾讯云
1、注册和上传测试代码流程
- 先在小程序后台开通腾讯云

- 开通后在下载的nodeJs测试代码wafer2-quickstart-nodejs-master中将server/config.js的appId修改为自己的,然后把整个server文件夹复制到现有项目中

- 在项目的project.config.json文件中添加新的配置"qcloudRoot": "./server/"

- 打开开发者工具,点击腾讯云,选择‘上传测试代码’,首次上传选择‘模块上传’,确定后部署。
mpvue学习笔记(二)的更多相关文章
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- JMX学习笔记(二)-Notification
Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
- 《SQL必知必会》学习笔记二)
<SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Redis学习笔记二 (BitMap算法分析与BitCount语法)
Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...
随机推荐
- 数据库session立即生效(64---8192) SCOPE参数
SCOPE=MEMORY|SPFILE|BOTH 指示了修改参数时的“作用域”: SCOPE=MEMORY :只在实例中修改,重启数据库后此次修改失效. SCOPE=SPFILE :只修改SPFILE ...
- kubernetes(k8s) helm安装kafka、zookeeper
通过helm在k8s上部署kafka.zookeeper 通过helm方法安装 k8s上安装kafka,可以使用helm,将kafka作为一个应用安装.当然这首先要你的k8s支持使用helm安装.he ...
- 安卓入门——————简单记账本的开发(用sqlite存储数据)(一)
设计思想————首先要确定有几个页面.和每个页面的大致布局 由于是入门,我也是学习了不是很长的时间,所以项目比较low.... 第一个页面,也就是打开APP的首页面: 今天这个博客,先实现添加功能!: ...
- Java8-对map过滤
1.对map按值过滤返回值 public class TestMapFilter { public static void main(String[] args) { Map<Integer, ...
- js时间相关
let date = new Date(); date.getYear(); //获取当前年份(2位) date.getFullYear(); //获取完整的年份(4位) date.getMonth( ...
- 大佬是怎么思考设计MySQL优化方案的?
在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已. 一.优化的哲学 注:优化有风险,涉足需谨 ...
- CTF大赛学习第一天!!!(学习中)
- java开发工具STS的下载及安装
将下载后的压缩文件解压,在解压后的sts-bundle下的sts-3.9.1RELEASE目录中STS.exe便是可执行程序,用于启动STS,将该文件发送到桌面快捷方式,当我们想使用STS时可以快速的 ...
- Excel导出采用mvc的ExcelResult继承遇到的问题
ExcelResult继承:ViewResult(只支持excel版本2003及兼容2003的版本)通过视图模板生成excel /// <summary> /// ms-excel视图 / ...
- JS(JavaScript)的进一步了解5(更新中···)
1.针对表单的 form input select textarea type=”radio/checkbox/password/button/text/submit/reset/” 表单的事件 on ...