六、mpvue入门

http://mpvue.com/

1、安装

$ vue init mpvue/mpvue-quickstart my-project
$ cd my-project
$ npm install
$ npm run dev

2、目录结构

3、语法对比

  • 生命周期

主要用vue的生命周期,如created 创建初始化;vue不支持的 用小程序自带的 如onPullDownRefresh

  • 模板语法

    computed+模板+熟悉的html

  1. 动态style和class使用计算属性返回字符串
  2. v-if和v-for用法不变
  3. 表单v-model全支持
  • 模板

除了动态渲染,别的都支持(如:插槽slot不太好用)

  1. .vue单文件组件
  2. 小程序自带组件也可以用
  3. 自带组件事件绑定也使用vue的,如@click
  • 新增页面 - 需要重新build以生成新的app.json

4、vue语法+小程序自带组件+小程序Api

七、koa是什么

基于nodejs平台的下一代web开发框架

  1. Express原班人马打造,更精简
  2. Async+await处理异步
  3. 洋葱圈型的中间件机制

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:
  module.exports = async(ctx, next) => {
    const start = new Date().getTime()
    await next()
    const end = new Date().getTime()
    console.log(ctx.request.url, end - start, ctx.body.length)
  }
  在server.js中引入: 
  const Koa = require('koa')
  const app = new Koa()
  const koaLog = require('./koa-logger')
  app.use(koaLog)
 
  // 打印结果:2003 6
  $ node server.js
 直接访问http://localhost:3000/即可

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 = '我是子页面'
  })
   app
    .use(router.routes())
    .use(router.allowedMethods())
 
 PS:也可以post请求

八、腾讯云

1、注册和上传测试代码流程

  • 先在小程序后台开通腾讯云

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

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

  • 打开开发者工具,点击腾讯云,选择‘上传测试代码’,首次上传选择‘模块上传’,确定后部署。

mpvue学习笔记(二)的更多相关文章

  1. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

  2. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  3. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  4. JMX学习笔记(二)-Notification

    Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...

  5. java之jvm学习笔记二(类装载器的体系结构)

    java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...

  6. Java IO学习笔记二

    Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...

  7. 《SQL必知必会》学习笔记二)

    <SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...

  8. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  10. Redis学习笔记二 (BitMap算法分析与BitCount语法)

    Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...

随机推荐

  1. 关于linux系统CPU篇--->平均负载

    1.什么是平均负载?(load average) 平均负载是指单位时间内平均活跃进程数,包括可运行状态的进程数,以及不可中断状态的进程(如等待IO,等待硬件设备响应) 2.如何查看平均负载? 使用to ...

  2. op 和 oo 的区别

    本是之前一位前辈留下的问题,因为我不是程序出身,略懂一些代码,后又查了很多人的博客,问了周围搞开发的朋友,得出以下结论: 有人这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面 ...

  3. spark报错解决

    19/03/04 18:18:42 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.i ...

  4. JVM 工作原理和流程

    作为一名Java使用者,掌握JVM的体系结构也是必须的.说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言.Java类文件格式.Java虚 ...

  5. SSH 安全加固

    检查密码重用是否受限制 | 身份鉴别 说明:强制用户不重用最近使用的密码,降低密码猜测攻击风险 描述:设置较低的Max AuthTrimes参数将降低SSH服务器被暴力攻击成功的风险. 加固建议:在/ ...

  6. log4J日志框架

    log4j的配置:log4j是一个日志输出框架,就是用于输出日志的,主流框架大部分都是Log4j输出.Spring框架也可以通过Log4j输出日志 Log4j提供了强大的日志输出的自定义功能(1)通过 ...

  7. 迭代(遍历)时候不可以使用集合的remove和add方法,但可使用Java迭代器的remove和add方法

    不要在 foreach 循环里进行元素的 remove/add 操作.remove 元素请使用 Iterator 方式. 反例: public class ForeachTest { private ...

  8. Centos7.2(linux)minimal install之后需要的操作

    minimal install之后,很多命令都不存在,例如ifconfig, wget等等 首先,需要先配置网络,保证机器可以连上互联纲 ip addr可以查看网卡的基本信息 一般默认就只有两个,一个 ...

  9. python:更改pip源

    windows更改pip源 cmd echo %APPDATA% 打开目录 创建文件夹pip 创建pip.ini文件 [global] timeout = 60 index-url = http:// ...

  10. linux服务基础(一)之CentOS6编译安装httpd2.4

    安装http-2.4 Http依赖于apr-1.4+,apr-util-1.4+ CentOS6上默认是apr-1.3,apr-util1.3 先编译安装apr-1.5,apr-util-1.5 开始 ...