美文网首页
10.7页面路由的完整开发(用于页面跳转)

10.7页面路由的完整开发(用于页面跳转)

作者: Aurochsy | 来源:发表于2018-09-22 22:40 被阅读0次

    Chapter:10.服务端环境搭建和开发过程

    10.7页面路由的完整开发(用于页面跳转)

    结构都差不多,基本复制粘贴改一下名称就行了,有点不同的是书籍详情页,需要从url里读取参数并转化为object格式,最后传递到模板里

    页面路由代码

    *10.7页面路由的完整开发 */
    
    //主页ejs模板路由
    app.use(controller.get('/',function*(){
        this.set('Cache-Control','no-cache');//设置HTTP返回头,不缓存内容
        this.body=yield render('index',{title:'书城首页'});//如果用不上的话这里可以不传递参数
        //yield语句 是es6的语言特性generator函数,用于完成异步函数的执行,阮一峰的博客介绍得比较详细
        //render的参数1是模板(html文件)的名字,在初始化render时设置的路径里寻找,参数2是传入模板的"变量:变量值"键值对
        //参数2并不一定要传进去,如果模板用不上这个参数的话
    }));
    
    //排行ejs模板路由
    app.use(controller.get('/rank',function*(){
        this.set('Cache-Control','no-cache');//设置HTTP返回头,不缓存内容
        this.body=yield render('rank',{title:'排行页'});
        //yield语句 是es6的语言特性generator函数,用于完成异步函数的执行,阮一峰的博客介绍得比较详细
        //render的参数1是模板(html文件)的名字,在初始化render时设置的路径里寻找,参数2是传入模板的"变量:变量值"键值对
    
    }));
    
    //男频ejs模板路由
    app.use(controller.get('/male',function*(){
        this.set('Cache-Control','no-cache');//设置HTTP返回头,不缓存内容
        this.body=yield render('male',{title:'男频页'});
        //yield语句 是es6的语言特性generator函数,用于完成异步函数的执行,阮一峰的博客介绍得比较详细
        //render的参数1是模板(html文件)的名字,在初始化render时设置的路径里寻找,参数2是传入模板的"变量:变量值"键值对
    
    }));
    //女频ejs模板路由
    app.use(controller.get('/female',function*(){
        this.set('Cache-Control','no-cache');//设置HTTP返回头,不缓存内容
        this.body=yield render('female',{title:'女频页'});
        //yield语句 是es6的语言特性generator函数,用于完成异步函数的执行,阮一峰的博客介绍得比较详细
        //render的参数1是模板(html文件)的名字,在初始化render时设置的路径里寻找,参数2是传入模板的"变量:变量值"键值对
    
    }));
    
    //目录ejs模板路由
    app.use(controller.get('/category',function*(){
        this.set('Cache-Control','no-cache');//设置HTTP返回头,不缓存内容
        this.body=yield render('category',{title:'目录页'});
        //yield语句 是es6的语言特性generator函数,用于完成异步函数的执行,阮一峰的博客介绍得比较详细
        //render的参数1是模板(html文件)的名字,在初始化render时设置的路径里寻找,参数2是传入模板的"变量:变量值"键值对
    
    }));
    
    //书籍详情ejs模板路由(需要读取地址栏输入url里的参数)
    app.use(controller.get('/book',function*(){
        this.set('Cache-Control','no-cache');//设置HTTP返回头,不缓存内容
        var params=querystring.parse(this.req._parsedUrl.query);//读取地址栏url参数并转为结构体格式
        var id=params.id;//赋值给本地变量
        this.body=yield render('book',{bookId:id});//将参数传入模板
        //yield语句 是es6的语言特性generator函数,用于完成异步函数的执行,阮一峰的博客介绍得比较详细
        //render的参数1是模板(html文件)的名字,在初始化render时设置的路径里寻找,参数2是传入模板的"变量:变量值"键值对
    
    }));
    
    //搜索ejs模板模板路由
    app.use(controller.get('/search',function*(){
        this.set('Cache-Control','no-cache');//设置HTTP返回头,不缓存内容
        this.body=yield render('search',{title:'搜索页面'});
        //yield语句 是es6的语言特性generator函数,用于完成异步函数的执行,阮一峰的博客介绍得比较详细
        //render的参数1是模板(html文件)的名字,在初始化render时设置的路径里寻找,参数2是传入模板的"变量:变量值"键值对
    
    }));
    
    

    相关文章

      网友评论

          本文标题:10.7页面路由的完整开发(用于页面跳转)

          本文链接:https://www.haomeiwen.com/subject/lmtfoftx.html