单页上的Nodejs

时间:2015-01-01 15:39:50

标签: javascript node.js express websocket socket.io

我是Nodejs的新手。 我必须在现有网站上使用节点js,express,socket.io来创建一个Web应用程序。 我在Parallels Plesk面板上使用JXcore来执行节点。 但是,当我运行js文件并访问网站上的任何页面时,它返回“无法获取”。 如果我使用express get()函数:

var app = require('express')();
var http = require('http').Server(app);
var path = require('path');

app.get('/path/to/index.html', function(req, res){
  res.sendfile( path.resolve(__dirname + '/index.html') );
});

http.listen(10500, function(){
  console.log('listening on *:10500');
});

它适用于/path/to/index.html但是每个其他网站页面都被相同的错误“无法获取”阻止。 有没有办法只在一个页面上运行节点? 感谢

1 个答案:

答案 0 :(得分:0)

您的代码正在做的是定义一个路由/path/to/index.html并将其映射到您的index.html文件。如果要从目录中提供文件,静态html / css / js /无论文件,都可以使用静态方法express提供:

app.use("/", express.static(__dirname + '/myHtmlDirectory'));

将“myHtmlDirectory”更改为存储文件的目录,并确保将包含更改为define express:

var express = require('express');
var app = express();

但是,如果您希望所有GET请求指向单个文件(例如index.html),则可以使用以下命令:

app.get('*', function (req, res) {
  res.sendfile( path.resolve(__dirname + '/index.html') );
});