nodejs擷取伺服器資料到頁面

來源:互聯網
上載者:User

標籤:取數   url   setting   資料   index   war   res   com   on()   

const Koa = require(‘koa‘);const Router = require(‘koa-router‘);const app = new Koa();const router = new Router();const views = require(‘koa-views‘);const json = require(‘koa-json‘);const onerror = require(‘koa-onerror‘);const bodyparser = require(‘koa-bodyparser‘);const path = require(‘path‘);const logger = require(‘koa-logger‘);const request = require(‘request‘);// error handleronerror(app)// middlewaresapp.use(bodyparser())    .use(json())    .use(logger())    .use(require(‘koa-static‘)(__dirname + ‘/public‘))    .use(views(path.join(__dirname, ‘/views‘), {        options: { settings: { views: path.join(__dirname, ‘views‘) } },        map: { ‘html‘: ‘nunjucks‘ },        extension: ‘html‘    }))    .use(router.routes())    .use(router.allowedMethods())// x-response-timeapp.use(async function(ctx, next) {    const start = new Date();    await next();    const ms = new Date() - start;    ctx.set(‘X-Response-Time‘, `${ms}ms`);});// loggerapp.use(async function(ctx, next) {    const start = new Date();    await next();    const ms = new Date() - start;    console.log(`${ctx.method} ${ctx.url} - ${ms}`);});app.on(‘error‘, (err, ctx) =>    log.error(‘server error‘, err, ctx));router.get(‘/‘, async(ctx, next) => {    var bd = "bd";    // 從伺服器擷取資料      bd = await getData();    ctx.state = {        title: ‘Koa2‘,        name: bd     }    // 發送到頁面     return  await ctx.render(‘index‘, ctx.state)  })//擷取伺服器資料async function  getData(){    return new Promise((resolve,reject)=>{        request("https://www.baidu.com",(error,response,body)=>{            if(error){                reject("error")            }else{                resolve("thank you");//body            }        })    })}router.get(‘/b‘, async(ctx, next) => {    ctx.state = {        title: ‘Koa2‘,        name: ‘小明-list‘    }    await ctx.render(‘b‘, ctx.state)})app.listen(3000);console.log(‘listen http://localhost:3000‘);

 

nodejs擷取伺服器資料到頁面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.