node
服务器模块:http
// 用require 引入模块
const http = require("http");
// 这里的函数,是服务器被访问时需要执行的功能 res是响应,req是请求
const serverObj = http.createServer(function(req,res){
const url = req.rul;
// 设置编码,防止乱码
res.writeHead(200,{"Content-Type":"text/plain;charset=utf-8"});
if(req.url === "/"){
res.write("转型前端了呀");
}
res.writeHead(200,{"Content-Type":"text/plain;charset=utf-8"});
res.write("转型前端了呀");
res.end();
});
// 设置端口监听 这里的函数是服务启动成功之后执行的功能
serverObj.listen(3000,function(){
console.log("服务器启动了");
})
文件模块:fs
const fs = require("fs");
// 增加
fs.writeFile("./hello.txt","你好 node",function(err){
console.log(err)
})
// 修改就是覆盖
// 读取
fs.readFile("./hello.txt","utf-8",function(err,data){
console.log(err);
console.log(data);
});
// 删除
fs.unlink("./hello.txt",function(err){
console.log("删除成功!")
});
// 引入模块
const url = require("url");
const http = require("http");
const fs = require("fs");
const qs = require("querystring");
// 创建服务器对象
const serveObject = http.createServer((request,response)=>{
if(request.url.indexOf("api") !== -1){
// 访问数据
dataFunction(request,response);
}else{
// 访问静态资源
staticFunction(request,response);
}
});
// 监听端口
serveObject.listen(3000,(error)=>{
if(error){
console.log(error);
}else{
console.log("服务器开启成功:访问 http://localhost:3000");
}
});
// 访问数据资源
function dataFunction(request,response){
// 如果是get请求
if(request.method ==="GET"){
// 通过url来解析地址
const data = url.parse(request.url,true).query;
console.log(data)
transit(request,response,data);
}else if(request.method ==="POST"){
let str = "";
request.on("data",(s)=>{
str += s;
});
request.on("end",()=>{
const data = qs.parse(str);
transit(request,response,data);
});
}
}
// 访问静态资源
function staticFunction(request,response){
// 解析地址,带有参数
let requestUrl = url.parse(request.url).pathname;
console.log(requestUrl)
fs.readFile(`./html${requestUrl}`,"utf-8",(error,data)=>{
if(error){
console.log("页面找不到了"+error);
}else{
response.write(data);
}
response.end();
});
}
// 过渡函数:将get和post的数据,过渡处理,区分具体的功能路由
function transit(req, res, data){
switch(data.type){
case "login":
// login(req, res, data);break;
console.log("login");break;
case "regist":
// register(req, res, data);break;
console.log("regist");break;
case "banner":
// getBanner(req, res, data);break;
console.log("banner");break;
case "getGoods":
getGoods(req, res, data);break;
console.log("getGoods");break;
default:
error(req, res);
}
}
// 错误处理
function error(req,res){
res.write("err");
console.log("err");
res.end();
}
function getGoods(req,res,data1){
fs.readFile("./database/goods.json","utf-8",function(error,data){
console.log(data);
res.write(JSON.stringify(data));
res.end();
});
}
express
npm i express -g
下载脚手架
npm i express-generator -g
用脚手架创建demo
express projectName
\