Node.js学习笔记1-基础入门

2019-06-11  本文已影响0人  页川叶川

1.初识Node

1.1.HelloWorld

//require表示引包,引包就是引用自己的一个特殊功能
var http = require("http");

var server = http.createServer(function(req, res) {
  res.writeHead(200, { "Content-type": "text/html;charset=UTF-8" });
  res.end("哈哈哈哈,这是我的第一个Node页面");
});

//运行服务器,监听3000端口(端口号可以任意改动)
server.listen(3000, "127.0.0.1");

1.2.使用http

//HTTP模块
var http = require("http");

http.createServer(function(req, res) {
    res.writeHead(200, {
      "Content-Type": "text/html;charset=UTF-8"
    });
    res.write("<h1>我是主标题</h1>");
    res.write("<h2>我是2标题</h2>");
    res.write("<h3>我是3标题</h3>");
    res.end("访问结束");
  })
  .listen(3000, "127.0.0.1");

1.3.解析URL

//URL模块
var http = require("http");
var url = require("url");

var server = http.createServer(function (req, res) {
    res.writeHead(200, {
        "Content-Type": "text/html;charset=UTF-8"
    });
    var pathname = url.parse(req.url).pathname;
    var query = url.parse(req.url, true).query;
    var id = query.id;

    console.log(pathname);
    console.log(query);
    console.log("id=" + id);
    res.end("访问结束");
});
server.listen(3000, "127.0.0.1");

1.4.根据请求URL进行判断执行

//require表示引包,引包就是引用自己的一个特殊功能
var http = require("http");
var fs = require("fs");

//创建服务器,参数是一个回调函数,表示如果有请求进来,要做什么
var server = http.createServer(function (req, res) {
  if (req.url == "/yuan") {
    fs.readFile("./test.html", function (err, data) {
      //设置http头部,状态码是200,文件类型是html
      res.writeHead(200, {
        "Content-Type": "text/html;charset=UTF-8"
      });
      // res.end("哈哈哈哈,这是我的第一个Node页面");
      res.end(data);
    });
  } else if (req.url == "/bbb.css") { //html文件里涉及到访问文件
    fs.readFile("./css.css", function (err, data) {
      //设置http头部,状态码是200,文件类型是html
      res.writeHead(200, {
        "Content-Type": "text/css;charset=UTF-8"
      });
      // res.end("哈哈哈哈,这是我的第一个Node页面");
      res.end(data);
    });
  } else {
    res.writeHead(404, {
      "Content-Type": "text/html;charset=UTF-8"
    });
    res.end("找不到页面");
  }
});

//运行服务器,监听3000端口(端口号可以任意改动)
server.listen(3000, "127.0.0.1");

其中的test.html与test2.html文件

<!-- test.html文件省略了一些内容 -->
<head>
  <style>
    div {
      width: 200px;
      height: 200px;
      background-color: blue;
      border-radius: 50%;
    }
  </style>
  <link rel="stylesheet" type="text/css" href="bbb.css">
</head>
<body>
  <img src="abb.jpg" alt="">
  <div></div>
</body>

<!-- test2.html文件省略了一些内容 -->
<head>
  <style>
    div {
      width: 200px;
      height: 200px;
      background-color: yellow;
    }
  </style>
</head>
<body>
  <div></div>
</body>

请求结果:

/yuan以及图片请求结果

2.表单信息提交测试

Node代码:

//信息提交测试
var http = require("http");
var url = require("url");

var server = http.createServer(function(req, res) {
  res.writeHead(200, {
    "Content-Type": "text/html;charset=UTF-8"
  });
  var queryObj = url.parse(req.url, true).query;
  var name = queryObj.name;
  var age = queryObj.age;
  var sex = queryObj.sex;

  res.write("姓名:" + name + " 年龄:" + age + " 性别:" + sex);

  console.log("姓名:" + name + " 年龄:" + age + " 性别:" + sex);
  res.end();
});
server.listen(3000, "127.0.0.1");

前端body文件:

<body>
  <form action="http://127.0.0.1:3000/" method="GET">
    姓名:<input name="name" type="text"></br>
    年龄:<input name="age" type="text"></br>
    性别:<input name="sex" type="radio" value="男"> 男
    <input name="sex" type="radio" value="女"> 女</br>
    <input type="submit">
  </form>
</body>

3.路由-router

路由-router示例:

var http = require("http");

var server = http.createServer(function (req, res) {
  //得到url
  var userurl = req.url;
  res.writeHead(200, {
    "Content-Type": "text/html;charset=UTF-8"
  });

  //substr函数来判断此时的开头
  if (userurl.substr(0, 9) == "/student/") {
    var studentid = userurl.substr(9);
    if (/^\d{10}$/.test(studentid)) {
      res.end("您需要查询学生在信息,id为" + studentid);
    } else {
      res.end("学生学号位数不对")
    }
  } else if (userurl.substr(0, 9) == "/teacher/") {
    var teacherid = userurl.substr(9);
    if (/^\d{6}$/.test(teacherid)) {
      res.end("您需要查询老师在信息,id为" + teacherid);
    } else {
      res.end("老师学号位数不对")
    }
  }
});
server.listen(3000, "127.0.0.1");

查询结果:

查询结果

文集推荐:

Java基础方法集1
Python基础知识完整版
Spring Boot学习笔记
Linux指令进阶
Java高并发编程
SpringMVC基础知识进阶
Mysql基础知识完整版
健康管理系统学习花絮(学习记录)
Node.js基础知识(随手笔记)
MongoDB基础知识
Dubbo学习笔记
Vue学习笔记(随手笔记)

声明:发表此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本我们(QQ:981086665;邮箱:981086665@qq.com)联系联系,我们将及时更正、删除,谢谢。

上一篇 下一篇

猜你喜欢

热点阅读