2015-06-10 6 views
1

Я работаю в c9.io язя среде, я написал ниже код в файле server.jsОшибка: Не удается получить/

var http = require('http'); 
var path = require('path'); 

var async = require('async'); 
var socketio = require('socket.io'); 
var express = require('express'); 

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

var router = express(); 
var server = http.createServer(router); 

server.listen(process.env.PORT || 3000, process.env.IP || "0.0.0.0", function(){ 
    var addr = server.address(); 
    console.log("Server listening at", addr.address + ":" + addr.port); 
}); 

app.use(express.static(__dirname + '/client')); 

// respond with "hello world" when a GET request is made to the homepage 
app.get('/', function(req, res) { 
    res.render('index.html'); 
}); 

app.get('/about', function (req, res) { 
    res.send('about'); 
}); 

После запуска узла server.js в терминале сообщение дано как

Your code is running at https://nodejs2-mujaffar.c9.io. 
Important: use process.env.PORT as the port and process.env.IP as the host in your scripts! 

Server listening at 0.0.0.0:8080 

Но после получения доступа к https://nodejs2-mujaffar.c9.io/ URL - Это не делает вид только отображающее сообщение об ошибке: не удается получить/

Что я делаю неправильно?

Пожалуйста, помогите.

Folder structure of app

+0

- это файл index.html в папке client/root? Я предполагаю, что вы не хотите использовать механизм просмотра только прямой HTML? Кроме того, есть ли причина, почему у вас есть var app = express(), а также var server = http.createServer? – TheLazyChap

+0

Да, я не использую никакого механизма просмотра. Пока просто хочу показать простой html, я редактировал вопрос и добавил изображение структуры папки. Пожалуйста, проверьте. – mujaffars

+0

проверить ответ Варедисом, я собирался указать на проблему с экземпляром 2, но он уже упомянул об этом. Похоже, что из вашего кода ваша переменная приложения не прослушивает порт, но сервер имеет два разных экземпляра. – TheLazyChap

ответ

2

Вы, кажется, создали два экземпляра экспресса, который может быть вашей проблемой.

Try изменения:

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

var router = express(); 
var server = http.createServer(router); 

к:

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

var server = http.createServer(app); 

В минуту, ваш экспресс app переменная не связана с вашего HTTP-сервера. Вместо этого вы ограничили неиспользуемый экземпляр с именем router. Но затем вы зарегистрировали свои маршруты к переменной app.

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