$ 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 = '我是子頁面'
})