$ vue init mpvue/mpvue-quickstart my-project
$ cd my-project
$ npm install
$ npm run dev
主要用vue的生命周期,如created 建立初始化;vue不支持的 用小程序自带的 如onPullDownRefreshvue
computed+模板+熟悉的htmlnode
除了动态渲染,别的都支持(如:插槽slot不太好用)react
基于nodejs平台的下一代web开发框架web
$ 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是什么?npm
是咱们访问的上下文,封装了一个完整的请求request和响应responsejson
2.next是什么?小程序
是下一个中间件网络
app.use就至关于一个中间件机制,每一个中间件都至关于一个环,网络请求会从每一个环穿过去,因此每一个环就进入两次,先进入中间件1再进入执行下一个中间件2,走到最外层又从中间件2返回到中间件1,因此造成一个洋葱圈模型,因此咱们可以在每一个中间件内部分别获取到网络请求的以前和请求以后的内容,好比:想作些时间的统计,就是很是方便的。app
例:
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:
安装
$ 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 = '我是子页面'
})