2015-07-07 1 views
0

Я хочу загрузить на стороне клиента javascript chat.js и css style.css в мой html-файл, но при загрузке я получаю ошибку 404.Загрузить клиент Javascript и CSS в Node.js

Это мой файловый сервер:

// routing 
app.get('/', function (req, res) { 
    res.sendFile(__dirname + '/index.html'); 
}); 

Это мой клиент HTML:

<script src="/socket.io/socket.io.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
<script src="chat.js"></script> 
<link rel="stylesheet" type="text/css" href="style.css"> 

Как я могу загрузить их в мое приложение? Все файлы находятся в одной корневой папке. Я попытался это, но он не работает:

app.get('/', function (req, res) { 
    res.sendFile(__dirname + '/chat.js'); 
}); 
+1

Вы должны прочитать экспресс начинающих учебник/руководство по началу работы – Amit

ответ

3

Похоже, вы используете курьерский веб-фреймворк поэтому в этом случае вы должны использовать express static middleware для ваших целей.

Я сделал пример, который ниже.

здесь сервер server.js файл:

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

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

app.listen(4040, function() { 
    console.log('server up and running'); 
}); 

Где вы видите, что Экспресс обслуживает файлы, которые находятся на public директории. Вы видите, что я не предоставил маршрут для /, так как браузер автоматически собирается захватить index.html.


public/index.html:

<!doctype html> 
<html> 
    <head> 
    <link href="style.css" rel="stylesheet"/> 
    </head> 
    <body> 
    <h1>Hey</h1> 
    <script src="app.js"></script> 
    </body> 
</html> 

С точки зрения браузера он знает только index.html, app.js и style.css файлы, так как они были предоставлены экспресс.


public/style.css:

body {               
    background: red;            
} 

public/app.js

document.addEventListener('DOMContentLoaded', function() { 
    alert('hello world'); 
}); 
+0

Спасибо Вам @wilson –

+0

@rexhin нет проблем человека! – Wilson

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

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