• node.js 初学笔记整理


     node.js
     
    概念问题:
    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
     
    npm是一个node的包管理工具  ,也是一个网站  ,还是一条命令。Node.js 的包管理器 npm,成为世界上最大的开放源代码的生态系统。
     
    1.用node编写http服务器
    方法综述:
    * 1、引入 http 模块
    * 2、创建服务器
                var http=require("http");
               接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。
    /*
    req(request):返回url信息
    res(response):浏览器返回相应信息
    */
    http.createServer(function(req,res){
    /*
    * 如果状态是200,文件类型是html,字符集是utf-8
    * */
        res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
        res.write("http://localhost:8888");
        res.end();
    }).listen(8888);
     
    a.杰哥代码示范:
    var http=require("http");
    http.createServer(function(req,res){
    res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
    res.write("首页");
    res.end();
    }).listen(8888);
     
    b.春娥老师代码示范
    //引入核心模块
     const http = require("http");
     //创建一个服务器
     const server = http.createServer((req,res)=>{
      //req参数代表客户端数据信息
      //res参数代表服务器数据信息
      res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});//指定中文编码
      /*res.write("hello node");//向客户端发送数据
      res.write("今天天气很热");
      res.write("明天天气也很热");
      res.end();//表示服务器相应已经结束*/
      res.end("今天天气有点热
    明天xxx");
     })
     
     server.listen(8000);
     
    2.Express框架的应用
        express :是一个简单而灵活的node.js框架
    a.express的安装
    代码指令:npm install --save express  
       如果网慢有时候也可以使用cnpm淘宝镜像;但尽量使用npm;
     
    !!附:npm install     //安装依赖
            发送文件的时候,应该把node_modules文件夹删除       接收以后可用npm install重新获取安装
    3.Nodejs 自启动工具 supervisor    
        优点:每次更新程序,自动更新、不必重启服务器、
    a.安装代码指令:npm install -g supervisor           (全局安装,安装一次永久可用)
    b.使用时 用supervisor代替node命令启动应用程序 即可生效
     
        (1)杰哥代码示范
    var express=require("express");
    var app=new express();
     
    //路由
    app.get("/",function(req,res){
        //res.send("首页");
        res.render("index",{name:"张三2"});
    });
    //新闻页面
    app.get("/news",function(req,res){
        //res.send("新闻页面22");
        var list=[
            {id:1,title:"新闻ejs1",isNews:true},
            {id:2,title:"新闻ejs2",isNews:false},
            {id:3,title:"新闻ejs3",isNews:false}
        ];
        res.render("news",{list:list});
    });
     
    console.log("http://localhost:8888");
    app.listen(8888,"localhost");
     
    4.ejs的使用和静态资源托管 
    a.  安装指令:npm install --save ejs
    bapp.set("view engine","ejs");    //设置默认模板引擎  (默认方法,通常情况下推荐用此方法)
    c.创建文件夹views     注意:此处文件夹名必须为views  不可更改 
        然后在文件夹下面创建一个html文件    重命名为:“index.ejs” 格式
        如需要更改名字 可使用代码: 
                如:将名字改为pages  使用代码:app.set("views","pages")     
                    console.log(_diename) 找到view的绝对路径   
                       app.set("views",__dirname+"/pages"); //更换模板目录 
        
            附:不使用ejs后缀,更改为html的方法:  (可借助此方法访问html文档,传参方式此处为了解,后面将会学习  传参方法如:在html中<%=name%> )    
                                                                                                                  
                                var bodyParser=require("body-parser");
                                    var app=new express();
                            app.engine("html",ejs._express);
                            app.set("view engine","html");
     
     
    5.Express中间件   
     
        功能:1.执行任何代码   
             2.修改请求和响应对象       
            3.终结请求-响应循环    
             4.调用堆栈中的下一个中间件
     
    路由中间件:
    app.use(function(req,res,next){
            next();
        })                       终止执行请求,一般放在路由的前面  
     
     
    路由中间件         杰哥经典案例:
    app.use(function(req,res,next){
            if(localstorage['islogin']){
                 next();
    }else{
    }
        })                 //如果localstorage存在,继续执行后面代码    否则,终止执行
     
    6.内置中间件       配置静态资源 
    app.use("/", express.static("static"));  
                            //获取static文件夹下的内容
     
    7.错误处理中间件
    app.use(function(req,res,next){
            res.status(404).render('404',{});
            });
      
     
    8.第三方中间件 
      npm install body-parser-save //安装中间件 
    var bodyParser = require('body-parser')  //设置中间件
     
     
    9.get  post请求  (8. 9  处内容暂未掌握,实例及其内容   下次分析)
    * GET 请求的参数在 URL 中,在 Express 中,可以直接使用 req.query 对象。
    * POST 请求在 express 中不能直接获得,可以使用 body-parser 模块。使用后,将可以用 req.body 得到参数。
     
    * All 可以请求get和post
     
     
     
    10.ejs模板引擎
    常用标签:
    <%%>:流程控制标签
    <%=%> :输出标签(原文输出HTML标签)
    <%-%> :输出标签(HTML会被浏览器解析)
    示例:
    <%=name%>
    <%- include ../public/left%>
    <ul>
          <% for(var i = 0 ; i < news.length ; i++){ %>
                <li><%= news[i] %></li>
           <% } %>
    </ul>
    <%if type==1 %>
      vip会员
    <%else if type==0%>
      普通会员
    <%/if%>
  • 相关阅读:
    [CodeForces
    [CodeChef]RIN(最小割)
    [Bzoj3894]文理分科(最小割)
    [Poj3469]Dual Core CPU(最小割)
    MySQL- 锁(3)
    MySQL- 锁(1)
    MySQL- 锁(2)
    MySQL-中文全文检索
    Solr
    多线程编程-之并发编程:同步容器
  • 原文地址:https://www.cnblogs.com/wangwenxin123/p/11161151.html
Copyright © 2020-2023  润新知