Node.js 是一个 Javascript 运行环境(runtime)。它让 JavaScript 可以开发后端程序, 它几乎能实现其他后端语言能实现的所有功能。Nodejs 是基于 Google V8 引擎,V8 引擎是 Google 发布的一款开源的 JavaScript 引擎, 原来主要用于 Chrome 浏览器的 JS 解释部分,但是 Ryan Dahl 这哥们,鬼才般的,把这个 V8 引擎搬到了服务器上,用于做服务器的软件。
官网下载:https://nodejs.org/en/
//cmd控制台 node -v有显示版本号则是成功
如果我们使用 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/');
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.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;
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);