【发布时间】:2016-01-22 12:51:17
【问题描述】:
我正在尝试使用 node 和 socket.io 构建一个简单的聊天应用程序。我正在按照此处列出的教程进行操作:http://socket.io/get-started/chat/
我的问题是本教程有一些 javascript 直接放在 html 中的脚本标记中。我想将此代码移动到它自己的 js 文件中。
我创建了一个名为 chat.js 的文件,它与我的 index.html 和 index.js 位于同一目录中。在我的 html 中,我将以下代码放在标题中(我也在结束正文标记之前尝试过)
<script type="text/javascript" src="chat.js"></script>
但是,当我在终端中运行 node index.js 并转到本地主机时,chat.js 得到 400。我试过放置“/chat.js”以及“./chat.js”,但没有成功。这三个文件都在同一个目录中。
任何我做错的线索将不胜感激。
我的 index.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
【问题讨论】:
-
那么,呃,创建 /chat.js 路由的 node.js 在哪里
-
我对节点完全陌生。我是否必须对要包含的每个文件执行 app.get 方法,类似于包含 index.html 的方式?
-
这取决于您使用什么来提供文件。如果没有,是的,但是如果您使用的是 express.js,您可以用一行提供整个文件夹。 (说句公道话,不用 express.js 也可以做到这一点,只需要多一行)
标签: javascript jquery html node.js socket.io