在windows上用nodejs构建静态文件服务器的简单方法
使用nodejs在windows上搭建静态文件服务器,即使没有任何基础,也可以学习搭建nodejs静态文件服务器。这篇文章很详细,非常适合零基础的朋友学习。
首先安装nodejs:
创建新的节点文件夹
将node.exe下载到此文件夹
下载npm并将其解压缩到此文件夹
现在,节点文件夹如下所示
将此目录添加到路径环境变量中
在命令行执行
如果node -vnpm -v获得了版本号,则意味着nodejs安装完成
在命令行上执行
Npm配置集注册表https://registry.npm.taobao.org之后安装的nodejs模块将从淘宝的NPM镜像下载
如果您想将自己的模块发布到npm,您应该首先将npm的注册表切换回来
NPM配置集注册表https://registry.npmjs.org接下来将建立一个静态文件服务器
创建一个文件夹服务器,一个文件夹根目录,服务器是服务器的js代码,而根目录是根目录
在服务器文件夹中创建js文件index . jsmime . js server . js
index.js
var server=require('。/server . js ');var rootpath=' rootvar SV=server . create({ port : ' 9587 ',host: '127.0.0.1 ',root : root path });mime . js var type={ ' CSS ' : ' text/CSS ',' less': 'text/css ',' gif': 'image/gif ',' html': 'text/html ',' ejs': 'text/html ',' ico': 'image/x-icon ',' jpeg': 'image/jpeg ',' jpg': 'image/jpeg ',' js': 'module . exports=function(ext){返回类型[ext]| | ' text/plain ' }server . js
var http=require(' http ');var path=require(' path ');var fs=require(' fs ');var URL=必选(' URL ');var mime=require(' ./mime。js’);函数GetPromise(CBK){ return(新Promise(CBK));}出口。create=function(opts){ var root=opts。根;var SV=http。CreateServer();函数请求(请求,响应){ var pathname=decodeURIComponent(URL。解析(请求。网址).路径名);var realPath=路径。解析(路径。join(根,路径名));//请求的实际路径getPromise(函数(解析,拒绝){fs.exists(realPath,函数(isExists) {//判断路径是否存在isExists?resolve(): reject();});}).catch(function(){ resWrite(response,' 404 ',' html ',' h1404/h1file或dir : H3 '路径名'/H3未找到');}).然后(function(){ return GetPromise(function(解析,拒绝)){ fs。stat(实路径,函数(err,stat) {//判断路径是文件还是文件夹if(err){ reject(err);} else { resolve(stat);}})}).然后(函数(stat) {if (stat.isFile()) {//路径对应的是一个文件resFile(响应,realPath);} else if (stat.isDirectory()) {//路径对应的是一个文件夹var defaultIndexPath=路径。解析(真实路径,索引。html ');返回getPromise(函数(解析,拒绝){fs.exists(defaultIndexPath,函数(isExists) {if (isExists) {//如果该文件夹内有索引。html解析(真);} else {//该文件夹内没有index.html则显示该文件夹的内容列表解决(假);}})}).然后(函数(isexissindex){ if(isexissindex){ resFile(response,DefaultIndexpath);} else {return getPromise(函数(解析,拒绝){fs.readdir(realPath,函数(err,list){ if(err){ reject(err)};} else { resolve(list);}})}).然后(函数(列表){ var pm list=list。映射(函数(项目)){返回(新的Promise(函数(解析,拒绝)){ fs。stat(路径。resolve(真实路径,项目))、function (err,stat){ if(err){ console。err(err);解析("");} else if(stat。isFIle()){ resolve(` Li class=' file ' a href=' $ { item } ' $ { item }/a/Li `);} else if(stat。is directory()){ resolve(` Li class=' dir ' a href=' $ { item }/' $ { item }/a/Li `);} else { resolve(');}})}));});Promise.all(pmlist).然后(函数(LinkList){ var link=' ul ';links='li class='dir'a href='./'.//a/李;链接=链接列表。join(');links='/ul ';var dirPage=`!doctype html html hearteta charset=' utf-8 '/style a { color : blue;文本装饰:无;}.dir a { color : orange }/style/head body $ { links }/body/html `;resWrite(响应,' 200 ',' html ',DirPage);});}).catch(function(err){ resWrite(response,' 500 ',' default ',err。tostring());})})else {//既不是文件也不是文件夹resWrite(响应,' 404 ',' html ',' h1404/h1file或目录: H3 '路径名'/H3未找到');}}).catch(function(err){ resWrite(response,' 500 ',' default ',err。tostring());})})}sv.on('request ',request);sv.listen(opts.port,opts。主持人);返回SV;};函数resFile(响应,realPath) {//输出一个文件fs.readFile(realPath,函数(err,data){ if(err){ resWrite(响应,' 500 ',' default ',err。tostring());} else { var ext=path。扩展名(真实路径).toLocaleLowerCase();ext=(ext?ext.slice(1) : '未知');resWrite(响应,' 200 ',ext,data);}});}函数resWrite(响应,statusCode,mimeKey,数据){ response。写头(状态码,{ ' Content-Type ' : mime(mime键)});response.end(数据);}•在计算机网络服务器文件夹内按住变化按钮,鼠标右键点击文件夹内空白区域,点击在此处打开命令窗口,执行命令
节点索引。射流研究…以上所述是小编给大家介绍的在窗子上用nodejs搭建静态文件服务器的简单方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
版权声明:在windows上用nodejs构建静态文件服务器的简单方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。