美文网首页
14、nodejs(国庆+中秋)(14-15)

14、nodejs(国庆+中秋)(14-15)

作者: 夜幕小草 | 来源:发表于2017-12-16 22:56 被阅读17次

    --------------14章-------------
    01、ejs

    ejs——非侵入、非破坏
    <%= name %>
    <%= json.arr[0].name %>
    <%= 12+5 %>
    <%= 'asdfasdf' %>
    
    1.js文件
    const ejs = require('ejs')
    ejs.renderFile('./views/1.ejs', {name: '夜幕小草', 
        json: {arr: [
      {user: 'blue', pass: '123456'},
      {user: 'zhangsan', pass: '654321'},
      {user: 'xiaoming', pass: '999999'},
    ]}
    }, (err, data) => {
        console.log(data)
    })
    
    1.ejs文件
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title></title>
      </head>
      <body>
        <div>
          <%= name %>
        </div>
        <div>
          <%= json.arr[1].user%>
        </div>
        <div>
        <!-- 输出的时候才是<%= %> ,不是输出的时候没有等号的<% %> -->
        <% for(var i=0;i<json.arr.length;i++){ %>
            <div>用户名:<%=json.arr[i].user%> 密码:<%=json.arr[i].pass%></div>
        <% } %>
        </div>
        <div>
        <% var str="<div>夜幕小草2</div>";
        %>
        <!-- 输出是标签的时候要用<%- str %> 是‘-’而不是‘=’  -->
        <%- str %>
        </div>
        <div>
        <% for(var i=0;i<5;i++){ %>
        <!-- 引入文件的时候用include,并且文件名字不能用变量, 如a.text中a不能是变量 -->
        <% include ./a.txt %>
        <% } %>
        </div>
      </body>
    </html>
    

    -----------15章---------------
    02、笔记

     express:
    1.主体
    2.cookie、session
    3.数据
    4.模板引擎
    
    body-parser 解析post数据
    multer      解析post文件
    
    --------------------------------------------------------------------------------------------------------------
    
    body-parser 解析post数据    application/x-www-form-urlencoded
    server.use(bodyParse.urlencode());
        req.body
    
    
    
    multer      解析post文件    multipart/form-data
    var obj=multer({dest: 'upload/'});
    
    server.use(obj.any());
    
    server.use(function (req, res){
        req.files[0].originalname
        req.files[0].path
    });
    
    把扩展名加上
            //'upload/aadfaew324we34' + '.txt'
            //'upload/aadfaew324we34.txt'
    var newName=file.path+pathLib.parse(file.originalname).ext;
    
    fs.rename(老名, 新名, function (err){});
    

    ------------------16章---------------

    express整合
    
    body-parser
    multer
    
    模板引擎
    
    express  模板引擎
    
    
    consolidate-适配
    
    -------------------------------------------------------------------------------------------------------------------------
    
    模板引擎:适配
    1.consolidate
    
    consolidate=require
    
    server.set('view engine', 'html');
    server.set('views', '模板文件目录');
    server.engine('html', consolidate.ejs);
    
    server.get('/', function (req, res){
        res.render('模板文件', 数据);
    });
    
    -------------------------------------------------------------------------------------------------------------------------
    
    route-路由:
    把不同的目录,对应到不同的模块
    
    xxxx.com/aaa/       mod1
    xxxx.com/news/  mod_news
        post            news_post
        list            news_list
        content     news_content
    xxxx.com/user/      mod_users
    
    -------------------------------------------------------------------------------------------------------------------------
    
    server.get();
    server.use()
    server.post()
    
    Router——迷你server
    router.get();
    router.post();
    router.use();
    
    -------------------------------------------------------------------------------------------------------------------------
    
    Router——拆
    /user/....      mod_user
    /item/....      mod_item
    
    //1.创建router
    var router=express.Router();
    
    //2.把router添加到server
    server.use('/user', router);
    
    //3.router内部
    router.get('/1.html')
    router.post('/2.html')
    
    -------------------------------------------------------------------------------------------------------------------------
    
    consolidate
    
    server.set('view engine', 'html');
    server.set('views', '模板目录');
    server.engine('html', consolidate.ejs);
    
    server.use(function (req, res){
        res.render('模板文件', 数据);
    });
    
    -------------------------------------------------------------------------------------------------------------------------
    
    Router——子服务
    
    var router1=express.Router();
    server.use('/user', router1);
    
    var r=express.Router();
    router1.use('/user_mod', r);
    router1.use('/user_reg', function (){});
    http://www.xxxx.com/user/user_mod
    http://www.xxxx.com/user/user_reg
    http://www.xxxx.com/user/user_login
    
    var router2=express.Router();
    server.use('/news', router2);
    http://www.xxxx.com/news/list
    http://www.xxxx.com/news/post
    http://www.xxxx.com/news/content
    
    var router3=express.Router();
    server.use('/item', router3);
    http://www.xxxx.com/item/buy
    http://www.xxxx.com/item/mod
    http://www.xxxx.com/item/del
    
    ----------------------------------
    

    相关文章

      网友评论

          本文标题:14、nodejs(国庆+中秋)(14-15)

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