node实现静态文件服务器,nodejs静态资源服务器

nodejs静态资源服务器

1、http 是nodejs的服务模块

2、url 是url路由模块

3、fs 是文件服务器模块

1、nodejs服务器的创建:

//主机IP

const ip = '192.168.1.105';

//端口号

const port = 2000;

//引入的组建模块 http、url、fs

const http = require('http');

const url = require('url');

const fs = require('fs');

//创建一个服务

var server = http.createServer(function(req,res){

res.weiteHead(200,{'Content-Type':'text/plain'});

res.write('my nodejs');

res.end();

});

//监听一个端口

server.listen(port,ip,function(){

console.log('server start');

});

2、抽象方法及获取URL部分块的内容 url

const ip = '192.168.1.105';//主机IP

const port = 2000;//端口号

//引入的组建模块

const http = require('http');

const url = require('url');

const fs = require('fs');

//创建服务的回调函数

var funSer = function(req,res){

//获取url地址块的内容 如:/path/show

var parth = url.parse(req.url).pathname;

res.write(parth);

res.end();

}

//监听端口的回调

var fun = function(){

console.log('server start');

}

var server = http.createServer(funSer).lesten(port,ip,fun);

3、读取文件的内容 File System

const ip = '192.168.1.105';//主机IP

const port = 2000;//端口号

//引入的组建模块

const http = require('http');

const url = require('url');

const fs = require('fs');

//真正打印文件内容

fs.readFile('./index.html',(err,data)=>{

if (err) throw err;

//以字符串的形式打印内容

console.log(data.toString());

});

//创建服务的回调函数

var funSer = function(req,res){

//获取url地址块的内容

var parth = url.parse(req.url).pathname;

res.write(parth);

res.end();

};

//监听端口的回调

var fun = function(){

console.log('server start');

};

var server = http.createServer(funSer).listen(port,ip,fun);

4、读取文件的内容并在浏览器中输出File System

const ip = '192.168.1.105';//主机IP

const port = 2000;//端口号

//引入的组建模块

const http = require('http');

const url = require('url');

const fs = require('fs');

//读取文件内容

var data = fs.readFileSync('./index.html');

//创建服务的回调函数

var funSer = function(req,res){

//获取url地址块的内容 如:/path/show

var path = urls.parse(req.url).pathname;

res.write(data.toString());

res.write(path);

res.end();

};

//监听端口的回调

var fun = function(){

console.log('server start');

};

var server = http.createServer(funSer).listen(port,ip,fun);

5、根据不同的url地址请求不同的文件

const ip = '192.168.1.105';//主机IP

const port = 2000;//端口号

//引入的组建模块

const http = require('http');

const url = require('url');

const fs = require('fs');

//实例化一个服务容器

var server = new http.server();

//监听一个端口

server.listen(port , ip);

//注册一个事件处理的on方法

server.on('request',function(req,res){

//获取请求的url地址

var url = urls.parse(req.url);

//console.log(url.pathname);

//根据path路径来读取不同的模块文件

switch(url.pathname){

case '' || '/':

//读取文件内容

fs.readFile('./index.html',function(err,content){

if(err){//如果有错误时,显示错误信息

res.writeHead(400,{'Content-Type':'text/plain;charset="utf-8"'});

res.write(err.message);

res.end();

}else{

//正确时浏览器输出文件的内容

res.writeHead(200,{'Content-Type':'text/html;charset="utf-8"'});//头信息

res.write(content);//文件内容

res.end();

}

});

break;

case '/list':

fs.readFile('./list.html',function(err,content){

if(err){

res.writeHead(400,{'Content-Type':'text/plain;charset="utf-8"'});

res.write(err.message);

res.end();

}else{

res.writeHead(200,{'Content-Type':'text/html;charset="utf-8"'});

res.write(content);

res.end();

}

});

break;

case '/show';

fs.readFile('./show.html',function(err,content){

if(err){

res.writeHead(400,{'Content-Type':'text/html;charset="utf-8"'});

res.write(err.message);

res.end();

}else{

res.writeHead(200,{'Content-Type':'text/html;charset="utf-8"'});

res.write(content);

res.end();

}

});

break;

default:

fs.readFile('.default.html',function(err,content){

if(err){

res.writeHead(400,{'Content-Type':'text/html;charset="utf-8"'});

res.write(err.message);

res.end();

}else{

res.writeHead(200,{'Content-Type':'text/html;charset="utf-8"'});

res.write(content);

res.end();

}

});

break;

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值