2015-02-15 2 views
1

Использование выражений и сокетов для создания чат-клиента. Однако при попытке подключения к статическим файлам я получаю 404.Экспресс Не удается найти Статические файлы

Server.js

var jade = require('jade'); 

var express = require('express'); 
var app = express(); 
var server = require('http').createServer(app); 
var io = require('socket.io')(server); 
io.on('connection', function() { 
    'use strict'; 
    socket.on('setPseudo', function(data) { 
     socket.set('pseudo', data); 
    }); 
    socket.on('message', function(message) { 
     socket.get('pseudo', function(error, name) { 
      var data = { 
       'message': message, 
       pseudo: name 
      }; 
      socket.broadcast.emit('message', data); 
      console.log("user " + name + " send this : " + message); 
     }); 
    }); 
}); 
app.set('views', __dirname + '/views'); 
app.set('view engine', 'jade'); 
app.set("view options", { 
    layout: false 
}); 
app.use(express.static(__dirname + '/public')); 

app.get('/', function(req, res) { 
    'use strict'; 
    res.render('home.jade'); 
}); 
server.listen(4000); 

для того, чтобы мое приложение для работы мне нужно подключиться к script.js файл в моей/папки. Однако сервер, похоже, не может его найти.

Обновление с нефритом файла:

doctype html 
html 
    head 
     title le Chat 
     script(src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js') 
     script(src="/socket.io/socket.io.js") 
     script(src="public/script.js") 
body 
    div.container 
     header 
      h1 le Chat Meow 
     input(type='text')#pseudoInput 
     button#pseudoSet Set Pseudo 
     div#chatEntries 
     div#chatControls 
      input(type='text')#messageInput 
      button#submit Send 

, а также структура папок:

-public > script.js 
-views > home.jade 
-server.js 
+0

Можете ли вы вставить свой HTML-код, который запрашивает файл script.js и структуру папок вашего приложения? –

+0

Обновлено с более подробной информацией –

ответ

0

Изменение script(src="public/script.js") к script(src="script.js"), потому что ваша общая папка является корневым статических файлов, так что вам не нужно, чтобы положить его в дорожках в html-файлах

0

Поскольку кто-то отметил ваш другой новый вопрос о console.readLine как событие дублирования Хотя, очевидно, я не ответил на это здесь.

Очевидно, console.readLine не работает внутри среды IDE, например, затмения. Вам нужно будет запустить программу внутри реальной консоли, чтобы этот код работал. Предположим, что вместо этого следует использовать буферизованный считыватель .

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

  • Нет связанных вопросов^_^