nodejs搭建本地服务器 如何用命令行开启nodejs搭建web服务器
其实nodejs搭建本地服务器的问题并不复杂,但是又很多的朋友都不太了解如何用命令行开启nodejs搭建web服务器,因此呢,今天小编就来为大家分享nodejs搭建本地服务器的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
如何用命令行开启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;
怎么利用nodejs搭建一个简单的服务器
使用nodejs搭建一个简单的服务器
nodejs优点:性能高(读写文件)数据操作能力强
官网:www.nodejs.org
验证是否安装成功:cmd命令行中输入node-v如果显示版本号表示安装成功
【常用命令】
切换盘符 d:
进入文件夹 cd nodejs
返回上一级目录 cd..
清屏 cls
展示目录 dir
复制文件名选中右键--复制
历史操作上箭头
执行文件 node文件名(在文件文件夹目录中)
停止命令行 ctrl+c
nodejs可以使用的ECMAScript、读写文件、数据库操作、搭建服务器
nodejs不可以做的是:DOM、BOM
使用node搭建一个服务器:
//1、引入模块使用的http服务协议是RFC2616 nodejs的作者已经写好了,直接引入就行
var http= require('http');
//引入文件读写模块fs
var fs= require('fs');
//2、创建服务器函数的参数req是发送给服务器的请求,res是服务器的相应
var httpObj= http.createServer(function(req,res){
//编写url其中index.html是要服务器读取的文件
var url= req.url=='/'?'index.html':req.url;
//开始文件读取,参数分别是完整的url编码和读取完毕执行的函数,注意前后台编码需要一致
fs.readFile('www/'+url,'utf-8',function(err,data){
//res.write服务器的相应,当成功的时候,服务器会传输一个data数据,相应结束需要end
if(err){
res.write('404,您访问的页面不存在');
res.end();
}else{
res.write(data);
res.end();
}
});
});
//监听端口
httpObj.listen(80);使用nodejs编写一个sql语句
//和搭建服务器一样,需要先引入模块,mysqle是外生的模块(提前在node中下载),MySQL模块会告诉服务器我们需要add还是get
//1、引入模块,这里多引入了一个mysql模块
var http= require('http');
var fs= require('fs');
var mysql= require('mysql');
//2、连接服务器使用createServer,同样参数也是req和res
var httpObj= http.createServer(function(req,res){
var url= req.url=='/'?'index.html':req.url;
console.log(url);
//给前端提供一个json写前端接口
//这里多了地址、用户名、密码和数据库
if(url.split('?')[0]=='/article'){
//console.log('我要给前端数据接口');
//1.建立连接
var db= mysql.createConnection({
//地址
host:'localhost',
//用户名
user:'root',
//密码
password:'',
//数据库
database:'study'
});
//3、编写sql语句,就是在想请求的时候告诉服务器我们需要add还是get
var sql='SELECT* FROM user';
//3.执行sql返回结果
db.query(sql,function(err,data){
if(err){
console.log('失败');
}else{
//console.log(data[0].username);
//console.log(JSON.stringify(data));
res.write(JSON.stringify(data));
res.end();
}
});
}else{
//读取页面
fs.readFile('www/'+url,'utf-8',function(err,data){
if(err){
res.write('404,您访问的页面不存在');
res.end();
}else{
res.write(data);
res.end();
}
});
}
});
//4、监听端口
httpObj.listen(3000);
无法连接到本地服务器中用Nodejs问题,怎么解决
搭建nodejs服务器步骤:
1.安装nodejs服务(从官网下载安装),node相当于apache服务器
2.在自己定义的目录下新建服务器文件如 server.js
例如,我在E:\PhpProject\html5\websocket下创建了server.js文件
var http= require('http');//引入http模块//开启服务,监听8888端口//端口号最好为6000以上var server= http.createServer(function(req,res){
/*
req用来接受客户端数据
res用来向客户端发送服务器数据
*/
console.log('有客户端连接');//创建连接成功显示在后台
//一参是http请求状态,200连接成功
//连接成功后向客户端写入头信息
res.writeHeader(200,{'content-type':'text/html;charset="utf-8"'
});
res.write('这是正文部分');//显示给客户端
res.end();
}).listen(8888);
console.log('服务器开启成功');123456789101112131415161718192021222324
3.在cmd控制台中cd切换进server.js所在的目录,然后执行node server.js命令
当控制台显示”服务器开启成功”则说明node服务器已经建立
4.在浏览器中访问服务器
在浏览器中输入
localhost:8888,浏览器显示“这是正文部分”。
查看cmd控制台,显示“有客户端连接”
可在多个浏览器窗口中进行以上操作,每个浏览器窗口均会对应一次“有客户端连接”
以上步骤完成,node服务搭建完毕。下面是如何通过搭建的node服务访问本地站点的 text/html文本文件
访问本地站点文件
1.在自定义的目录下创建node服务文件server2.js
var http= require('http');var fs= require('fs');//引入文件读取模块var documentRoot='E:/PhpProject/html5/websocket/www';//需要访问的文件的存放目录var server= http.createServer(function(req,res){
var url= req.url;
//客户端输入的url,例如如果输入localhost:8888/index.html
//那么这里的url==/index.html
var file= documentRoot+ url;
console.log(url);//E:/PhpProject/html5/websocket/www/index.html
fs.readFile( file, function(err,data){
/*
一参为文件路径
二参为回调函数
回调函数的一参为读取错误返回的信息,返回空就没有错误
二参为读取成功返回的文本内容
*/
if(err){
res.writeHeader(404,{'content-type':'text/html;charset="utf-8"'
});
res.write('<h1>404错误</h1><p>你要找的页面不存在</p>');
res.end();
}else{
res.writeHeader(200,{'content-type':'text/html;charset="utf-8"'
});
res.write(data);//将index.html显示在客户端
res.end();
}
});
}).listen(8888);
console.log('服务器开启成功');12345678910111213141516171819202122232425262728293031323334353637383940414243444546
2.创建index.html文件
如果要访问index.html文件,当然你得先有这个文件,不然服务器读取失败,返回40412
3.在cmd控制台cd切换到 server2.js的目录下执行node server2.js命令
开启服务器
4.在浏览器输入localhost:8888/index.html访问该文件
nodejs搭建本地服务器和如何用命令行开启nodejs搭建web服务器的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!