koa2-Koa-generator脚手架

Koa-generato脚手架

安装

npm install -g koa-generator

创建koa2项目

// koa2 project    默认使用jade模板引擎
koa2 –e koa2-learn  // -e表示使用ejs引擎 koa2-learn为项目名 

在这里插入图片描述

安装依赖

npm install

如果出现下面的提示
在这里插入图片描述

npm install --update-binary

启动服务

// 代码有修改 需要手动重新启动
npm strat  
//  上下二选一
// 代码有修改 自动重新启动
npm run dev

访问

localhost:3000
// package.json
  "scripts": {
    "start": "node bin/www",
    "dev": "./node_modules/.bin/nodemon bin/www",
    "prd": "pm2 start bin/www",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

npm start
npm test
其他的得加run
npm run dev
npm run prd

node中全局对象为global;web页面全局对象为window

router.get('/testAsync', async (ctx) => {
  global.console.log('start', new Date().getTime())
  const a = await new Promise((resolve, reject) => {
    setTimeout(() => {
      global.console.log('async a', new Date().getTime())
      resolve('hello world')
    }, 1000)
  })
  const b = await 'node'
  const c = await new Promise((resolve, reject) => {
    setTimeout(() => {
      global.console.log('async a', new Date().getTime())
      resolve('javascript')
    }, 2000)
  })
  // await运行完 才会执行下面的代码
  ctx.body = {
    a,
    b,
    c
  }
})

访问http://localhost:3000/testAsync时
在这里插入图片描述
在这里插入图片描述

await相当于用同步的写法,完成的异步的过程
await得到返回后,才会继续执行下面的代码
await后面跟一个promise对象.如果不是,会自动转化为promise对象

发布了65 篇原创文章 · 获赞 76 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_42752574/article/details/104808789