- const http = require('http'); 1. 协议
- const ip = '192.168.170.129'; 2. IP 地址
- const port = 3000; 3. 端口号
- http.creatServer{(req.res) =>{ 4. 回掉函数
res.writeHead(200,{'Conten-Type':'text/html'});
res.write("<html>");
res.write("<head>");
res.write("</head>");
res.write("<body>");
res.write('hello');
res.write("</body>");
res.end(); - }).listen(port,ip,()=>{
cosole.log(server start);
- });
- const http = require('http'); 1. 协议
- const ip = '192.168.170.129'; 2. IP 地址
- const port = 3000; 3. 端口号
- var f =function (req,res){ res.writeHead(200,{'Conten-Type':'text/html'});
res.write("<html>");
res.write("<head>");
res.write("</head>");
res.write("<body>");
res.write('hello');
res.write("</body>");
res.end();
}
var f2=funcntion (){
cosole.log(server start);
} - http.creatServer(f).listen{(port,ip,f2) ;
url (协议 模块)
192.168.84.128:3000/aaaaaa
1. 输出 /aaaaa
2. 192.168.84.128:3000/aaaaaa/cccc.html
输出 /aaaaaa/cccc.html
- const http = require('http');
const http = require('url'); ### url - const ip = '192.168.170.129';
- const port = 3000;
var pathnmae = url.parse(req.url).pathname; - var f =function (req,res){
var pathnmae = url.parse(req.url).pathname;
res.write(pathname);
res.end();
}
var f2=funcntion (){
cosole.log(server start);
} - http.creatServer(f).listen{(port,ip,f2);
结束时要 加‘ ;’ 因 不写在压缩时会出错
文件的操作
- const http = require('http');
const http = require('url'); ### url
const fs = require('fs'); ### 文件操作 - const ip = '192.168.170.129';
- const port = 3000;
// 1. fs.readFile('a.txt',(err,data)=>{
// 1. if(err)throw err;
// 2. console.log(data.toString());
// 3. });
var data = fs.readFileSync('a.txt');
- var f =function (req,res){
var pathnmae = url.parse(req.url).pathname;
res.write(pathname);
res.write('\n'); // 或 res.write(pathname+'\n');
res.write(data.toString());
res.end();
}
var f2=funcntion (){
cosole.log(server start);
} - http.creatServer(f).listen{(port,ip,f2);
touch 创建文件夹
a.tet
- aaaaaaaaaaaaaaaaaa
- ssssssssssssssssss
touch 创建新文件
cat 读取文件 cat
操作方式
- chmod 777 a.tet
- node a.js
userurl 用户访问
const http = require('http');
const http = require('url'); ### url
const fs = require('fs'); ### 文件操作
var server=new http.Server();const ip = '192.168.170.129';
const port = 3000;
server.listen(port,ip);
server.on('req',function(req,res){
var pathnmae = url.parse(req.url).pathname;
var userul = url.parse(pathname);switch(useurl){
case '' || '/':
fs.readFile('./index.html',function(err,content){
if(err){
cosole.log(err);
}-
else{
res.wrireHead(200;{'Conent-Type':'text/html;charset=utf-8'});
res.write(content);
res.end();
}
}
break;
default:
}});
首先加载所有需要用到的模板
var http = require('http')
加载http服务api模块
var ip = '192.168.84.128';
var fs = require('fs');
加载fs文件服务api模块
var server = new http.Server();
创建新的HTTP服务器
var rlapi = require('url');
创建url路由api模块
server.listen(3000,ip);
监听端口
// 使用on方法注册事件处理,该事件一直被监听,任何的请求都会进入回调函数,执行相应的操作
server.on('request',function(request,response)){
//当有requst请求的时候触1发处理器函数
//解释请求的url
var url = url.parse(request.url);
//监听请求的网站,以当前脚本目录为跟目录的url地址
console.log(url.pathname);
//特殊url会让服务器在发送响应前先等待
switch(url.pathname){//判断请求的路径信息
case '' || '/':
//处理请求的网站更目录,指定加载对应的文件夹,一帮以根目录,指定加载对应的文件夹,一帮以更目录的index.html为默认,nodejs是高效流处理方案,也可以通过配置文件来配置
fs.readFile("./index.html",function(err,content){
//打开请求的文件
if(err){
//输出错误信息,也可以自定义错误信息
response.writeHead(404,{'Content-Type':'text/plain':charset='utf-8'});
response.withe(err.massage);
response.end();
}else{
//请求成功返回数据
response.witheHead(200,{'Content-Type':'text/html;charset="uet ='utf-8'"'}); //
response.write(content);
//返回的内容,有时候还会加上butter数据类型;
response.end();
-
//结束响应,不写的话,会一直处于响应状态,页面不会显示内容
});
}
break;
}