nodejs 一个简单的web服务器,用于前端自己快速测试部署
1.资源路径不能有中文,否则访问失败。后面再慢慢解决。
(node环境)启动命令:node node-web-server.js
var http=require('http'); var fs = require('fs'); var url = require('url'); //创建服务器 http.createServer(function(request,response) { //后端设置允许跨域 response. setHeader("Access-Control-Allow-Origin","*"); //解析请求,包括文件名 var parseUrl = url.parse(decodeURI(request.url)); // var parseUrl = url.parse(request.url); var pathname= parseUrl.pathname; //输出请求的文件名 console.log("Request for "+ pathname + " received."); //获取后缀,判断是js还是css文件,如果目录结构不同,此处需要修改 var firstDir = pathname && pathname.split('/')[1]; // var firstDir = pathname && pathname.split('/')[1]; var suffix = pathname && pathname.split('.').slice(-1).toString(); var ContentType = {'Content-Type': 'text/html;charset=utf-8'}; // js - application/x-javascript if (suffix && suffix === 'css') { ContentType = {'Content-Type': 'text/css;charset=utf-8'}; } else if (suffix && suffix === 'js') { ContentType = {'Content-Type': 'application/x-javascript;charset=utf-8'} } else if (suffix && suffix === 'png') { ContentType = {'Content-Type': 'image/png'} } // 超文本标记语言文本 .html text/html // xml文档 .xml text/xml // XHTML文档 .xhtml application/xhtml+xml // 普通文本 .txt text/plain // RTF文本 .rtf application/rtf // PDF文档 .pdf application/pdf // Microsoft Word文件 .word application/msword // PNG图像 .png image/png // GIF图形 .gif image/gif // JPEG图形 .jpeg,.jpg image/jpeg // au声音文件 .au audio/basic // MIDI音乐文件 mid,.midi audio/midi,audio/x-midi // RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio // MPEG文件 .mpg,.mpeg video/mpeg // AVI文件 .avi video/x-msvideo // GZIP文件 .gz application/x-gzip // TAR文件 .tar application/x-tar // 任意的二进制数据 application/octet-stream console.log(suffix, ContentType); //从文件系统中去请求的文件内容 fs.readFile(pathname.substr(1),function(err, data) { if(err) { console.log(err); //HTTP 状态码 404 : NOT FOUND //Content Type:text/plain response.writeHead(404, {'Content-Type': 'text/html;charset=utf-8'}); } else { //HTTP 状态码 200 : OK //Content Type:text/plain response.writeHead(200, ContentType); //写会回相应内容 if (['png'].includes(suffix)) { response.write(data, "binary"); } else { response.write(data.toString()); } } //发送响应数据 response.end(); }); }).listen(8080); console.log('Server running at http://127.0.0.1:8080/');