nodejs本地服务器,nodejs怎么启动服务
如何停止本地运行的nodejs服务器
停止方法:
1.首先,不能共享完毕之后,都通过Ctrl+C来关闭NodeJS服务器。
2.其次,如果仅仅能向客户端提供d:\ilinkit_logo.png文件的下载,是没有意义的,共享哪个文件,应该可以通过传入的参数来指定。我们首先来实现退出功能,如果客户端向服务器提交了的请求,我们就执行服务器的退出操作。
代码如下:
1 var http= require('http');
2 var fs= require('fs');
3 var url= require('url');
4(空行)
5 var file_path="D:\\ilinkit_logo.png";
6 var file_stream;
7 var buffer_box= [];
8 var file_length= 0;
9(空行)
10 var file_name= file_path.substr( file_path.lastIndexOf('\\')+1);
关键的代码解析如下:
第33行,我们通过request对象获取客户端请求的主机及端口内容。
第46行~第50行,我们判断客户端提交的请求信息,如果是,则调用server.close()关闭服务器。为什么要判断是不是localhost提交的请求?因为我们希望仅仅在服务器本地提交的请求才能关闭NodeJS服务器。
验证方式如下:
1.启动服务器:打开命令行,进入js脚本所在的位置,执行:node h_ilinkit_1.js。
2.打开浏览器,输入:,显示如下:
说明当前服务器启动正常。
3.打开浏览器,输入:。
提示NodeJS服务器已经关闭,我们把浏览器关闭之后,发现服务器已经正常退出,如下所示。
这样,我们就没必要每次为了退出服务器,都去按Ctrl+ C了。
nodejs搭建本地服务器来访问本地文件
有时候,我们可能需要将本地编写的代码与局域网内的同事分享,或者在本地搭建环境调试移动端的代码。此时,仅依赖浏览器打开HTML文件可能无法满足需求,需要在本地启动Node.js服务器。以下是搭建本地服务器的基本步骤及常见问题解决方法。
首先,通过在项目目录下执行 `npm init`命令,可以创建一个 `package.json`文件。这为后续的依赖管理提供了基础。
接着,使用 `npm install`命令安装必要的依赖包。
推荐安装 `http-server`和 `anywhere`。安装完成后,使用 `anywhere-p 8085`命令启动本地服务器,其中 `8085`可以根据实际需要进行调整。
在执行上述操作时,可能会遇到一些问题。例如,命令执行可能会因策略限制而失败。解决这类问题的步骤如下:
若遇到执行策略问题,首先要查看当前执行策略状态。在命令提示符中执行 `get-ExecutionPolicy`命令,获取当前状态。
如果状态显示为"Restricted",说明执行策略被禁用。此时,需要调整执行策略。执行 `set-ExecutionPolicy RemoteSigned`命令将执行策略设置为允许远程脚本。
若无管理员权限,可以先执行 `Set-ExecutionPolicy RemoteSigned-Scope CurrentUser`命令,将策略设置为允许当前用户执行远程脚本。
执行上述策略调整后,再次检查执行策略状态,确保其已更改为允许远程脚本。然后尝试重新启动 `anywhere`服务,即可成功。
通过遵循上述步骤,您可以轻松地在本地搭建服务器,实现对本地文件的访问与调试。这将极大地提升开发效率与协作便利性。
如何用命令行开启nodejs搭建web服务器
首先,需要安装nodejs,这个可以去官网下载,目前我本地安装的v0.12版本。
安装完成后可以通过命令行测试安装是否成功,输入:node-v,应该会显示当前安装node版本号。
本文中用到的模块,都是nodejs核心模块,不需要从外部下载,如果有需要,可以使用以下命令安装:npm install xxx。
开始
下一步,新建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;