zoukankan      html  css  js  c++  java
  • node(03)--利用 HTTP 模块 URl 模块 PATH 模块 FS 模块创建一个 WEB 服务器

    Web 服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等 Web 客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让
    全世界下载。目前最主流的三个 Web 服务器是 Apache Nginx IIS

    目录如下

    通过启动node服务器,打开本地去访问static下面的资源

    这是http.js代码

    // npm install -g supervisor   supervisor http.js就可以实现热更新的效果
    //引入http模块
    var http=require('http');
    
    //fs模块
    
    var fs=require('fs');
    
    //path模块
    var path=require('path');  /*nodejs自带的模块*/
    
    //url模块
    
    var url=require('url');
    
    
    var mimeModel=require('./model/getmime.js');
    
    //console.log(mime.getMime('.css'));   //获取文件类型
    
    http.createServer(function(req,res){
    
    	//http://localhost:8001/news.html    /news.html
    	//http://localhost:8001/index.html    /index.html
    
    	//css/dmb.bottom.css
    
    	var pathname=url.parse(req.url).pathname;
    
    	console.log(pathname);
    
    	if(pathname=='/'){
    		pathname='/index.html'; /*默认加载的首页*/
    	}
    
    	//获取文件的后缀名
    	var extname=path.extname(pathname);
    
    	if(pathname!='/favicon.ico'){  /*过滤请求favicon.ico*/
    		//console.log(pathname);
    		//文件操作获取 static下面的index.html
    
    		fs.readFile('static/'+pathname,function(err,data){
    
    			if(err){  /*么有这个文件*/
    
    				console.log('404');
    
    				fs.readFile('static/404.html',function(error,data404){
    					if(error){
    						console.log(error);
    					}
    					res.writeHead(404,{"Content-Type":"text/html;charset='utf-8'"});
    					res.write(data404);
    					res.end(); /*结束响应*/
    				})
    
    			}else{ /*返回这个文件*/
    
    				var mime=mimeModel.getMime(extname);  /*获取文件类型*/
    				res.writeHead(200,{"Content-Type":""+mime+";charset='utf-8'"});
    				res.write(data);
    				res.end(); /*结束响应*/
    			}
    
    
    		})
    
    
    	}
    
    
    
    }).listen(8002);
    
    console.log('服务器已开启---------------------------------------------------------------端口号自己看-----------------------------------------------');
    

     这是getmime.js代码

    exports.getMime=function(extname){  
    
        switch (extname){
    
            case '.html':
    
                return 'text/html';
            case '.css':
    
                return 'text/css';
    
            case '.js':
    
                return 'text/javascript';
    
            default:
                return 'text/html';
        }
    
    }
    

      

    // npm install -g supervisor   supervisor http.js就可以实现热更新的效果
    启动node
    supervisor http.js打开http://localhost:8002/就可以看到效果了

     

  • 相关阅读:
    Linux----------系统管理之释放内存
    阿里云OSS挂载到ECS(注意fuse版本,必须和源码对应)
    数据库图形化管理工具navicat
    linux集群管理工具clustershell
    记一次nginx启动报错
    虚拟化之KVM
    虚拟化之-XEN(未完待续)
    虚拟化
    Linux----------Jenkins基础
    Linux日常系统管理命令
  • 原文地址:https://www.cnblogs.com/myfirstboke/p/10571413.html
Copyright © 2011-2022 走看看