Я хочу отделить Javascript-код Html.
Это мой текущий index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test</title>
</head>
<body>
<p>Welcome</p>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
</script>
</body>
</html>
И я бы хотел:
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Test</title>
</head>
<body>
<p>Welcome</p>
<script src="client.js"></script>
</body>
</html>
client.js
var io = require('socket.io');
var socket = io.connect('http://localhost');
Мой маршрут сервера задан так: (express + fs)
app.get('/', function(req, res) {
fs.readFile('./index.html', 'utf-8', function(error, content) {
res.writeHead(200, {"Content-Type": "text/html"});
res.write(content);
res.end();
});
});
Мне также нужно отправить client.js? На самом деле, Javascript Console на index.html говорит: "Невозможно GET http :: localhost/client.js".
Есть идеи? Большое спасибо.
Николя.
Вы должны добавить папку для статического контента, а затем добавить это в свою экспресс-конфигурацию:
app.configure(function(){
app.use(express.static(__dirname + '/public'));
});
После этого вы можете удалить app.get('/')
req.headers
тип клиента с помощью:req.headers