19-07-04

128 阅读1分钟

rangeType的input用法

koa2渲染页面原理

需要注意的一点是,如果fs.readFile()方法没有添加"binary"参数,那么访问这个路径时,不会显示页面,而是变成下载index.html文件

function render( page ) {
  return new Promise(( resolve, reject ) => {
    fs.readFile(`./${page}.html`, "binary", ( err, data ) => {
      if ( err ) {
        reject( err )
      } else {
        resolve( data )
      }
    })
  })
}
...
app.use( async ( ctx ) => {
  let url = ctx.request.url
  let html = await render( url )
  ctx.body = html
})

另一方面可以看到,只要一个方法返回的是promise,那么这个方法就可以使用await调用

path.join()方法

将参数以当前系统分隔符加以拼接

jsonp原理

利用js脚本不受同源策略的影响,向服务器发送js脚本请求,服务器动态创建js脚本的文件流,并将回调方法,需要的数据写入,然后返回给浏览器,浏览器将js文件插入head标签中执行