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/
url的使用
url.parse() 解析 URL
url.format(urlObject) //是上面 url.parse() 操作的逆向操作 url.resolve(from, to) 添加或者替换地址
举个例子我们cmd在控制台
我们可以看到: query: ‘a=xxx’,如果我们在地址后面加入true。可以将其转化为对象
我们创建一个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}`);
就可以得到姓名: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);