⑴ 无法连接到本地服务器中用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('服务器开启成功');
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('服务器开启成功');
2.创建index.html文件
如果要访问index.html文件,当然你得先有这个文件,不然服务器读取失败,返回40412
3.在cmd控制台cd切换到 server2.js的目录下执行node server2.js命令
开启服务器
4.在浏览器输入localhost:8888/index.html访问 该文件
⑵ 求助帖nodejs加载html页面css显示不出来
// 设置静态文件目录
app.use(express.static(path.join(__dirname, 'public')));
// 上面没毛病的话就是这样的
<link rel="stylesheet" href="/css/style.css">
⑶ Node.js官网怎么无法访问了
本机用 局域网IP:8888看看行不行
1)如果本机可以,关掉本机防火墙在其他机器试试,如果能连上就是你的防火墙规则没加对,有的防病毒软件禁止其他机器访问本机80,8080,8888端口,可能也要看一下。
2)如果本机不能用局域网地址访问,改这行试试
http.createServer(onRequest).listen(8888, '0.0.0.0');
或者
http.createServer(onRequest).listen(8888, '局域网IP地址');
⑷ 请问大家!nodejs成功启动了,但是localhost没有响应,也就是打不开网页
ping localhost,看返回的是不是127.0.0.1,或者直接把localhost换成127.0.0.1
⑸ node js启动以后为什么有个网址访问不了
var http = require("http")
var server = http.createServer(function(req,res){
res.writeHead(200,{'Content-type':'text/html'})
res.end('hellow w111orld\n')
})
server.listen(1337,'localhost')
console.log('server running at http:localhost:1337')
⑹ node.js http.get 为什么error
之前做一个Demo项目需要调用第三方的接口获取数据,最开始想到的是使用Node版本的jQuery,后来想想还是用原生的http.get方法实现吧,但是这里遇到了一个问题,如果第三方接口出了问题,例如服务器未启动而无法访问的时候就会导致http.get方法报错,Node中的回调方法中默认第一个参数为err,但是http.get方法中没有这么个参数,也就无法直接处理,查询官方文档也没有见到对于http.get方法的错误处理。
经过多次尝试以及对文档中的http.request方法的比较得出了处理办法,那就是绑定事件监听就好了,最后附代码:
[javascript]view plain
varoptions={
host:'192.168.2.22',
port:8080,
path:'/'
};
varreq=http.get(options,function(res){
res.setEncoding('utf8');
res.on('data',function(chunk){
//数据拼接
}).on('end',function(){
//数据处理
}).on('error',function(err){
//访问的错误处理,注意,这里是无法得到类似于无法连接的错误
});
});
req.on('error',function(err){
//错误处理,处理res无法处理到的错误
});
⑺ 为什么我配置的nodejs无法访问
说明你配置有问题
第一步:下载安装文件
下载nodejs,官网,我这里下载的是node-v0.10.28-x86.msi,
第二步:安装nodejs
下载完成之后,双击"node-v0.10.28-x86.msi",开始安装nodejs,自定义安装在D:\dev\nodejs下面。
在cmd控制台输入:node -v,控制台将打印出:v0.10.28,出现版本提示表示安装成功。
该引导步骤会将node.exe文件安装到D:\dev\nodejs\目录下,并将该目录添加进PATH环境变量。
第三步:npm安装
由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以使用cmd命令行输入"npm -v"来测试是否成功安装。如下图,出现版本提示表示安装成功。
第四步:安装相关环境
npm install express -g
npm install jade -g
npm install mysql -g
默认情况下上述组件都是安装在D:\dev\nodejs\node_moles文件夹下,这也是nodejs相关组件的自动查找路径。
第五步:安装CoffeeScript
npm install coffee-script -g
确认安装的命令:coffee -v,出现版本号表示成功安装。
第六步:CoffeeScript测试实例
新建cs.js文件,输入:
for i in [0...5]
console.log "hello #{i}"
在该目录下运行"coffee cs.js" 输出:
D:\>coffee cs.js
hello 0
hello 1
hello 2
hello 3
hello 4
以上环境基本就配置完成。
补充说明:
所有命令都是-g进行全局安装的,这样安装的安装包都在当前用户下,在磁盘的所有其他地方都可以访问到,比较方面。否则安装在当前目录下,只能在当前目录下使用。
安装express问题
安装nodejs安装包后,通过npm安装express后,运行express提示" express"不是内部或外部命令,原因是版本问题,当前版本是4.0.0,改成3.5.0即可运行。
$ npm install -g [email protected]
全局安装在C:\Users\xdskg\AppData\Roaming\npm目录下。
⑻ 直接打开html正确,但用nodejs打开就不显示图片
原因很简单,在你的代码中
fs.readFile("/login.html",function(err,html) 这句话导致你无法读取图片。
这句话表达的含义是: 我只读取 login.html 这个文件的内容,其他文件内容我都不读取
但是你要知道login.html文件中的每个图片都是外部资源,它们不属于html的内容
比如:假设login.html中有这样一段
<img src="/image/cat.png" />
因为上面的那段代码,现在 /image/cat.png 这个路径里的图片内容你无法读取
解决办法:
先引入 http、fs、url模块(这里省略)
var server = http.createServer( function( req , res ) { //创建服务器
var filename = url.parse( request.url ).pathname //获取文件路径
fs.readFile( filename , function( err , html ) { //读取html文件以及图片
................. // 这里直接使用filename可能会出错
}) // 如果你的图片不在目录文件夹中
}).listen(8000) // 需这样写: '../'+filename
filename是一个变量,html路径以及图片路径会先后赋值给它 , 这样就保证了我们先后读取了html文件内容和图片内容
在html中 src=”/image/cat.png“ ,这里src指向的是外部资源,我们进入了一个误区:
我们以为图片也属于html的内容。其实不然,一个页面中的所有图片都不属于该页面的内容
它们是外部资源,所以我们读取一个html时,需要单独的去读取里面的图片
⑼ 请教node.js浏览器访问不显示
telent 你的服务器ip 8001
看看 端口通没
⑽ 二级页面显示网页无法访问怎么办
IE浏览器不能打开二级网页解决办法 在浏览网页过程中,单击超级链接无任何反应。 多半是因为IE新建窗口模块被破坏所致。 单击“开始→运行”,依次运行“regsvr32 actxprxy.dll”和“regsvr32 shdocvw.dll”将这两个DLL文件注册,然后重启系统。如果还不行,则可以将mshtml.dll、urlmon.dll、msjava.dll、browseui.dll、oleaut32.dll、shell32.dll也注册一下。 二级ie打不开的方法 开始-运行-依次输入以下命令 regsvr32 Shdocvw.dll regsvr32 Shell32.dll (注意这个命令,先不用输) regsvr32 Oleaut32.dll regsvr32 Actxprxy.dll regsvr32 Mshtml.dll regsvr32 Urlmon.dll 经本人调试这种方法能实现,不想电脑重启全部一并注册(第二条命令)也一样。 在电脑屏幕的左下角按“开始→程序→附件→记事本”,把下面的文字复制进去,点“另存为”,路径选“桌面”,保存类型为“所有文件”,文件名为“IE.bat”,就完成了。记住后缀名一定要是.bat,ok!你的IE不能打开2级网页的问题就解决了 ======就是下面的文字(这行不用复制)============================= =====batch file for registering all IE dlls======== rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%\System32\dacui.dll rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%\Catroot\icatalog.mdb regsvr32 setupwbv.dll regsvr32 wininet.dll regsvr32 comcat.dll regsvr32 shdoc401.dll regsvr32 shdoc401.dll /i regsvr32 asctrls.ocx regsvr32 oleaut32.dll regsvr32 shdocvw.dll /I regsvr32 shdocvw.dll regsvr32 browseui.dll regsvr32 browseui.dll /I regsvr32 msrating.dll regsvr32 mlang.dll regsvr32 hlink.dll regsvr32 mshtml.dll regsvr32 mshtmled.dll regsvr32 urlmon.dll regsvr32 plugin.ocx regsvr32 sendmail.dll regsvr32 comctl32.dll /i regsvr32 inetcpl.cpl /i regsvr32 mshtml.dll /i regsvr32 scrobj.dll regsvr32 mmefxe.ocx regsvr32 proctexe.ocx mshta.exe /register regsvr32 corpol.dll regsvr32 jscript.dll regsvr32 msxml.dll regsvr32 imgutil.dll regsvr32 thumbvw.dll regsvr32 cryptext.dll regsvr32 rsabase.dll regsvr32 triedit.dll regsvr32 dhtmled.ocx regsvr32 inseng.dll regsvr32 iesetup.dll /i regsvr32 hmmapi.dll regsvr32 cryptdlg.dll regsvr32 actxprxy.dll regsvr32 dispex.dll regsvr32 occache.dll regsvr32 occache.dll /i regsvr32 iepeers.dll regsvr32 wininet.dll /i regsvr32 urlmon.dll /i regsvr32 digest.dll /i regsvr32 cdfview.dll regsvr32 webcheck.dll regsvr32 mobsync.dll regsvr32 pngfilt.dll regsvr32 licmgr10.dll regsvr32 icmfilter.dll regsvr32 hhctrl.ocx regsvr32 inetcfg.dll regsv