//node创建服务器不需要任何软件,只需要通过一些模块即可
//node不适合大型项目的开发,一般用来实现聊天室,游戏
//修改了后台的内容需要重启
//node创建服务器
//引入http模块
const http=require("http");
const fs=require("fs");
const path=require("path")
//创建服务器
let server=http.createServer((req,res)=>{
//req代表的是客户端请求的内容
//req.url请求路径
// /favicon.ico(标题前面的小图标,会自动请求)
if(req.url=="/favicon.ico") return false;
console.log(req.url)
if(req.url=="/"){
//读取文件,响应给客户端
fs.readFile(path.join(__dirname,"public/index.html"),(err,data)=>{
res.end(data)
})
}else{
//根据前端路径,渲染内容,需要找规律
fs.readFile(path.join(__dirname,"public",req.url),(err,data)=>{
res.end(data)
})
}
//res代表响应给客户端的内容
//res.write()代表响应给客户端的内容,可以写多个
//中文需要响应头,告诉客户端文件类型,如何编码
//res.writeHead(响应编码,{"Content-Type":"书写编码方式"}) 1xx 2xx 3xx-重定向 4xx 5xx 编码方式
res.writeHead(200,{"Content-Type":"text/plain;charset=utf-8"})
res.write("哈哈哈")
res.write("hahaha")
//res.end("123") //只能有一个,多写会报错
//res.end()响应给客户端的内容,结束响应,一定要结束
//res.end("hahaha")
})
//添加监听的端口号
server.listen("8989");
//执行普通js文件会直接关闭,执行带有服务器的文件会一直闪烁
express框架
//express是node提供好的一个框架
const express=require('express');
//通过express创建服务器
const app=express();
//书写路由
//app.use()以某个路径开始的意思,如果使用use一定要注意路径的关系,下面的代码有可能执行不到
app.use('/',(req,res,next)=>{
console.log('xxx');
//结束响应
res.send('xxx');
//没有结束send,请求以后会没有结束响应
//next()是中间键的意思,把请求传递给下一层,需要形参
next()
})
app.use('/get',(req,res)=>{
console.log('get');
//res.send('get')
})
//添加监听的端口号
app.listen("8989")