如果我们使用PHP来编写后端的代码时,需要 Apache 或者 Ngix 的HTTP服务器,来处理客户端的请求响应。不过对于nodejs来说,概念完全不一样了(它自带服务器)。使用nodejs时,我们不仅仅在实现一个应用,同时还实现了整个http服务器。
Node.js创建第一个应用
http模块的使用
const http = require('http');
http.createServer((req,res)=>{
//设置响应头
//状态码是 200 ,文件类型是html,字符集是utf8
res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"})
//设置编码
res.write("<head><meta charset='UTF-8'></head>")
console.log(req.url) //获取浏览器传过来的东西
//在页面上打印出来
res.write('this is nodejs')
res.write('this is 中文')
res.write('this is <h1>中文</h1>')
res.end(); //结束响应
}).listen(2000)
url模块的使用
const url= require('url')
var api = 'http://www.api.cpm?name=zhangsan&age=12';
console.log(url.parse(api).query) //String 'name=zhanfsan&age=12'
console.log(url.parse(api,true).query) //Object { name: 'zhanfsan', age: '12' }
console.log(url.parse(api,true).query.name) //zhangsan
http模块和url模块 获取前端传入的参数
const http = require('http');
const url = require('url')
http.createServer((req,res)=>{
//设置响应头
//状态码是 200 ,文件类型是html,字符集是utf8
res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"})
//设置编码
res.write("<head><meta charset='UTF-8'></head>")
if(req.url !='/favicon.ico'){
console.log(url.parse(req.url,true))
}
res.end('响应结束'); //结束响应
}).listen(2000)