Node.js HTTP模块、URL模块 supervisor工具

1.Node.js介绍

Node.js 是一个 Javascript 运行环境(runtime)。它让 JavaScript 可以开发后端程序, 它几乎能实现其他后端语言能实现的所有功能。Nodejs 是基于 Google V8 引擎,V8 引擎是 Google 发布的一款开源的 JavaScript 引擎, 原来主要用于 Chrome 浏览器的 JS 解释部分,但是 Ryan Dahl 这哥们,鬼才般的,把这个 V8 引擎搬到了服务器上,用于做服务器的软件。

官网下载:https://nodejs.org/en/

//cmd控制台
node -v有显示版本号则是成功

2. Node.js HTTP模块、URL模块 supervisor工具

如果我们使用 PHP 来编写后端的代码时,需要 Apache 或者 Nginx 的 HTTP 服务器,

来处理客户端的请求相应。不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时, 我们不仅仅在实现一个应用,同时还实现了整个 HTTP 服务器。

基本形式
//表示引入http模块
var http = require('http');
/*
    request    获取客户端传过来的信息
    response  给浏览器响应信息
*/
http.createServer(function (request, response) {
  //设置响应头
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello World');
  //表示给我们页面上面输出一句话并且结束响应
}).listen(8081);

console.log('Server running at http://127.0.0.1:8081/');
http创建一个web服务器
const http = require("http")
/*
    req   获取客户端传过来的信息
    res  给浏览器响应信息
*/
http.createServer((req,res)=>{
    console.log(req.url);  //获取url
    //设置响应头
    //状态码是 200,文件类型是 html,字符集是 utf-8
    res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"}); //解决乱码
    res.write("<head> <meta charset='UTF-8'></head>");  //解决乱码
    res.write('你好 nodejs');
    res.write('<h2>你好 nodejs</h2>');
    res.end();  //结束响应
}).listen(3000);

运行启动服务:http://127.0.0.1:3000/
Node.js HTTP模块、URL模块 supervisor工具

url的使用
url.parse() 解析 URL 
url.format(urlObject) //是上面 url.parse() 操作的逆向操作 url.resolve(from, to) 添加或者替换地址

举个例子我们cmd在控制台
Node.js HTTP模块、URL模块 supervisor工具
我们可以看到: query: ‘a=xxx’,如果我们在地址后面加入true。可以将其转化为对象
Node.js HTTP模块、URL模块 supervisor工具
我们创建一个url模块

const url=require('url');
var api='http://www.baidu.com?name=zhangsan&age=20';
console.log(url.parse(api,true));
var getValue=url.parse(api,true).query;
console.log(getValue);
console.log(`姓名:${getValue.name}--年龄:${getValue.age}`);

Node.js HTTP模块、URL模块 supervisor工具
就可以得到姓名:zhangsan --年龄:20;

http模块结合url模块使用
const http = require("http");
const url = require("url");
/*
    req   获取客户端传过来的信息
    res  给浏览器响应信息
*/
http
  .createServer((req, res) => {
    //http://127.0.0.1?name=zhangsan&age=20  想获取url传过来的name 和age
    //设置响应头
    //状态码是 200,文件类型是 html,字符集是 utf-8
    res.writeHead(200, { "Content-type": "text/html;charset='utf-8'" }); //解决乱码
    res.write("<head> <meta charset='UTF-8'></head>"); //解决乱码
    console.log(req.url); //获取浏览器访问的地址
    //因为我在Microsoft使用
    if (req.url != "/favicon.ico") {
      var userinfo = url.parse(req.url, true).query;
      console.log(`姓名:${userinfo.name}--年龄:${userinfo.age}`);
    }
    res.end("你好nodejs"); //结束响应
  })
  .listen(3000);

Node.js HTTP模块、URL模块 supervisor工具

上一篇:通过getResourceAsStream方法获取项目下的指定资源


下一篇:supervisor的简单使用