Javascript 单页节点
我是新手。 我必须在现有网站上使用node js、express、socket.io制作一个web应用程序。 我使用Parallels-Plesk面板上的JXcore来执行节点。 但当我运行js文件并访问网站上的任何页面时,它会返回“无法获取”。 如果使用express get()函数:Javascript 单页节点,javascript,node.js,express,websocket,socket.io,Javascript,Node.js,Express,Websocket,Socket.io,我是新手。 我必须在现有网站上使用node 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.
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上工作,但其他每个网站页面都会被相同的错误“无法获取”阻止。
有没有办法只在一个页面上运行节点?
谢谢您的代码所做的只是定义一条路由
/path/to/index.html
,并将其映射到index.html文件。如果您希望提供来自目录(静态html/css/js/任何文件)的文件,可以使用express提供的静态方法:
app.use("/", express.static(__dirname + '/myHtmlDirectory'));
将“myHtmlDirectory”更改为存储文件的任何目录,并确保更改包含以定义express:
var express = require('express');
var app = express();
但是,如果希望所有GET请求指向一个文件,例如index.html,则可以使用以下命令:
app.get('*', function (req, res) {
res.sendfile( path.resolve(__dirname + '/index.html') );
});
谢谢你的回复。您的代码工作正常,但是我在访问其他页面(从/path/to/directory)时遇到了相同的错误。我不明白我是否不能在同一个域中保留两个不同的应用程序(节点应用程序和非节点应用程序),或者服务器上的JXCore安装是否有错误您使用的
app.get
是错误的。请参考框架文档,我不认为您的问题与JXcore有关。尝试在本地计算机上运行带有节点的应用程序,您将遇到相同的问题。