1楼:育知同创教育
可以呀使用node.js搭建web服务器是学习node.js比较全面的入门教程,因为实现web服务器需要用到几个比较重要的模块:
http模块、文件系统、url解析模块、路径解析模块、以及301重定向技术等,下面我们就一起来学习如何搭建一个简单的web服务器。
作为一个web服务器应具备以下几个功能:
1、能显示以.html/.htm结尾的web页面
2、能直接打开以.js/.css/.json/.text结尾的文件内容
3、显示**资源
5、形如http://***.***/a/b/ , 则查找b目录下是否有index.html,如果有就显示,如果没有就列出该目录下的所有文件及文件夹,并可以进一步访问。
6、形如http://***.***/a/b, 则作301重定向到http://***.***/a/b/ , 这样可以解决内部资源引用错位的问题。
引入需要用到的几个模块:
//http协议模块varhttp = require('http');//url解析模块varurl = require('url');//文件系统模块varfs = require("fs");//路径解析模块varpath = require("path");创建服务并在指定的端口监听:
//创建一个服务varhttpserver = http.createserver(this.processrequest.
bind(this));//在指定的端口监听服务httpserver.listen(port,function());
在创建服务的时候需要传递一个匿名函数processrequest 对请求进行处理,processrequest接收2个参数,分别是request和response, request对象中包含了请求的所有内容,response是用来设置响应头以及对客户端做出响应操作。
processrequest:function(request,response));response.end();return;}//添加默认的访问页面,但这个页面不一定存在,后面会处理pathname +="index.
html";ha***t =false;//标记默认页面是程序自动添加的}//获取资源文件的相对路径varfilepath = path.join("http/webroot",pathname);//获取对应文件的文档类型varcontenttype =this.getcontenttype(filepath);//如果文件名存在fs.
exists(filepath,function(exists));varstream = fs.createreadstream(filepath,);stream.on("error", function() );response.
end("");});//返回文件内容stream.pipe(response);}else);response.end("");}else}catch(e)response.
writehead(200, );response.end(html);}}});}
请求处理函数中有几个重点需要说一下:
对于路径中有中文的,浏览器会自动进行编码(英文不变,中文会变),因此在接收到地址后,需要对地址进行解码,否则最后得到的路径和真实路径不相符,
当访问路径不是以具体的文件结尾,并且不是以/结尾,则需要通过重定向加上/,表示当前目录,否则当前路径下的静态资源会找不到
如果访问路径是目录,则列出该目录下所有文件及文件夹,并可以点击访问,为了让中文目录能正常显示,则还要在header中设置charset=utf-8
核心**就这么多,大概140行左右,完整的**已上传到github:https://github.***/git-onepixel/node,
如果要运行demo,打开cmd切换到根目录,运行node start 即可。
nodejs 做web服务器合适吗
2楼:偏于一角
最好还是使用专业的web服务器比较好,建议你可以去web服务器厂商(比如正睿服务器、惠普服务器等)的**看看。
如何用nodejs搭建web服务器
3楼:失信人买机票网
node.js 是一个基于 chrome v8 引擎的 javascript 运行环境。 node.js 使用了一个事件驱动、非阻塞式
i/o 的模型,使其轻量又高效。node.js 的包管理器
npm,是全球最大的开源库生态系统。(nodejs官网上的介绍),正如官网上介绍的那样,nodejs确实很牛!怎么个牛法?看看下面的**就知道了。
//引入http模块
var http = require("http");
//设置主机名
var hostname = '127.0.0.1';
//设置端口
var port = 8080;
//创建服务
var server = http.createserver(function(req,res));
server.listen(port,hostname,function():$`);
});短短几行**就把一个简单的web服务器搭建完成了,为了验证效果,我们在浏览器请求
如何让 nodejs web服务器
4楼:善良的zxc先生
返回首页
');res.end();}}
httpserver.listen(8000);
//一个简单的nodejs服务,windows环境下先安装node.js.
//以上内容保存为demo.js,命令行工具在当前目录使用nodedemo.js通过127.0.0.1:8000访问.
5楼:
可以用express框架作为web服务的基础框架
如何用命令行开启nodejs搭建web服务器?
6楼:沉珂侧畔
开始下一步,新建js文件,可以命名为server.js,**如下:
var http = require('http');
var url = require('url');
var path = require('path');
var fs = require('fs');
var dir, arg = process.argv[2] || ''; // 命令行第三个参数,用来接收目录,可为空,相对当前server.js文件的目录名称
// 比如使用命令 node server debug,意思就是debug文件夹与server.js文件同级
// 且你想以debug文件夹启动web服务
http.createserver(function (req, res) {
var pathname = __dirname + url.parse(req.url).pathname;
nodejs自带的web服务器可以运行shell脚本吗
7楼:一骑当后
你好。可以运行 shell 脚本。
用 child_process.spawn() 方法,具体看文档你的采纳是我前进的动力,记得好评和采纳,互相帮助,如果你认可我的回答,敬请及时采纳.
如何用nodejs快速搭建web服务器
8楼:匿名用户
这种场景用json-server呀~9k star,不用写js好伐~typicode/json-server · github来跟我写个json, users.json,]}next
npm i json-server -g
next
json-server --watch users.jsonnext
~ curl http://localhost:3000/users -d id=foo\&pwd=foo_password
直接post id & pwd 到这个 json-server, 匹配的反回一个 json object, 一行 js 都没写
------
登录, 查找操作用 get 带上 id, pwd注册 or 修改, 用post or put, 会覆盖原有的域
web服务器有那些种类?各有什么优缺点
1楼 匿名用户 服务器的种类和功能 1 www服务器 www server www服务器也称为web服务器 web server 或http服务器 http server ,它是inter 上最常见也是使用最频繁的 web服务器有哪些 2楼 皮蛋粯子粥 目前最主流的三个web服务器是apache n...