2015-01-01 2 views
0

Я новичок в Nodejs. Мне нужно сделать веб-приложение с узлом js, express, socket.io на существующем веб-сайте. Я использую JXcore на панели Parallels Plesk для выполнения узла. Но когда я запускаю js-файл, и я посещаю любую страницу на веб-сайте, он возвращает «Can not GET». Если я использую функцию экспресс прибудете():Nodejs на одной странице

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, но любой другой страницы сайта заблокированный той же ошибкой «Не удается получить». Есть ли способ запускать узел только на одной странице? Thanks

+0

Ваше использование ' app.get' неверно. Пожалуйста, обратитесь к рамочной документации http://expressjs.com/ –

+0

Я не думаю, что ваша проблема связана с JXcore вообще. Попробуйте запустить приложение с узлом на вашем локальном компьютере, и у вас будут те же проблемы. – infografnet

ответ

0

Что делает ваш код, это определение только одного маршрута /path/to/index.html и сопоставление этого файла index.html. Если вы хотите, чтобы обслуживать файлы из директории, статический HTML/CSS/JS/все файлы, вы можете использовать статический метод экспресс обеспечивает:

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

Измените «myHtmlDirectory» в любой каталог, который вы храните свои файлы и убедитесь, что для изменения включает в себя определение экспресса:

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

Однако, если вы хотите, чтобы все запросы GET, чтобы указать на один файл, index.html, например, вы можете использовать следующее:

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

Спасибо за ответ. Ваш код работает правильно, но у меня такая же ошибка, когда вы посещаете другие страницы (из/path/to/directory). Я не понимаю, не могу ли я оставить два разных приложения (приложение узла и приложение без узла) в том же домене или если есть ошибка при установке JXCore на сервере – user3464031

Смежные вопросы