Javascript 定义节点js的模式路由
我正在使用和express制作一个web聊天应用程序。我有一个关于路线的问题 我的路线是:Javascript 定义节点js的模式路由,javascript,node.js,routes,Javascript,Node.js,Routes,我正在使用和express制作一个web聊天应用程序。我有一个关于路线的问题 我的路线是: app.get("/", function( req, res ) { res.sendfile( __dirname + "/index.html" ); }); 据我所知,这意味着所有的客户都应该进入页面访问聊天。(也许,不确定) 是否可以有这样的模式URL: app.get("/*", function( req, res ) { res.sendfile( __dirname +
app.get("/", function( req, res ) {
res.sendfile( __dirname + "/index.html" );
});
据我所知,这意味着所有的客户都应该进入页面访问聊天。(也许,不确定)
是否可以有这样的模式URL:
app.get("/*", function( req, res ) {
res.sendfile( __dirname + "/*" );
});
这样,任何用户都可以访问任何URL上的聊天简而言之:类似于facebook聊天。可在所有页面中访问
提前感谢您可能需要使用如下url参数:
app.get("/:chatter",function(req,res){
console.log("the chatter is",req.param('chatter'));
res.sendfile( __dirname + "/index.html" );
...
});
您可能希望使用如下url参数:
app.get("/:chatter",function(req,res){
console.log("the chatter is",req.param('chatter'));
res.sendfile( __dirname + "/index.html" );
...
});
您可能希望使用如下url参数:
app.get("/:chatter",function(req,res){
console.log("the chatter is",req.param('chatter'));
res.sendfile( __dirname + "/index.html" );
...
});
您可能希望使用如下url参数:
app.get("/:chatter",function(req,res){
console.log("the chatter is",req.param('chatter'));
res.sendfile( __dirname + "/index.html" );
...
});
是否可以有这样的模式URL:
app.get("/:chatter",function(req,res){
console.log("the chatter is",req.param('chatter'));
res.sendfile( __dirname + "/index.html" );
...
});
是的,Express正好支持您列出的路线。文档将其称为“未命名通配符”
但是,对于您的示例,Express/Connect包含一个用于通过将URL路径组合到基本目录来服务文件的URL:
app.use(express.static(__dirname));
类似于facebook聊天。可在所有页面中访问 这不一定与路由有很大关系。您的应用程序可能需要一个路由来收集联系人列表或其他持久数据,但实际的“聊天”将单独管理 一般来说,它取决于在每个页面中包含公共内容——如果使用视图/模板,可能通过“布局”或“继承”——来显示用于输入消息的表单和用于显示聊天历史的区域。此外,大量的聊天“工作”必须在客户端完成 一个简单的例子是为多个URL提供相同的文件:
var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
app.get('/*', function (req, res) {
res.sendfile(__dirname + '/chat.html');
});
var chat = io
.of('/chat') // namespace
.on('connection', function (socket) {
socket.on('message', function (data) {
chat.emit('message', data);
});
});
server.listen(3000);
在该文件中:
<div id="chat-log"></div>
<form id="chat-send">
<input name="message">
<input type="submit" value="Send">
</form>
<script src="/socket.io/socket.io.js"></script>
<script>
var chatForm = document.getElementById('chat-send');
var chatLog = document.getElementById('chat-log');
var chatSocket = io.connect('/chat');
chatSocket.on('message', function (data) {
chatLog
.appendChild(document.createElement('div'))
.appendChild(document.createTextNode(data.text));
});
chatForm.onsubmit = function () {
chatSocket.emit('message', {
text: chatForm.message.value
});
chatForm.message.value = '';
chatForm.message.focus();
return false;
};
</script>
var chatForm=document.getElementById('chat-send');
var chatLog=document.getElementById('chat-log');
var chatSocket=io.connect('/chat');
chatSocket.on('message',函数(数据){
聊天记录
.appendChild(document.createElement('div'))
.appendChild(document.createTextNode(data.text));
});
chatForm.onsubmit=函数(){
chatSocket.emit('message'{
文本:chatForm.message.value
});
chatForm.message.value='';
chatForm.message.focus();
返回false;
};
然后,您可以从任何地址(GET/
,GET/foo
,GET/bar/baz/qux
)访问聊天室
是否可以有这样的模式URL:
app.get("/:chatter",function(req,res){
console.log("the chatter is",req.param('chatter'));
res.sendfile( __dirname + "/index.html" );
...
});
是的,Express正好支持您列出的路线。文档将其称为“未命名通配符”
但是,对于您的示例,Express/Connect包含一个用于通过将URL路径组合到基本目录来服务文件的URL:
app.use(express.static(__dirname));
类似于facebook聊天。可在所有页面中访问 这不一定与路由有很大关系。您的应用程序可能需要一个路由来收集联系人列表或其他持久数据,但实际的“聊天”将单独管理 一般来说,它取决于在每个页面中包含公共内容——如果使用视图/模板,可能通过“布局”或“继承”——来显示用于输入消息的表单和用于显示聊天历史的区域。此外,大量的聊天“工作”必须在客户端完成 一个简单的例子是为多个URL提供相同的文件:
var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
app.get('/*', function (req, res) {
res.sendfile(__dirname + '/chat.html');
});
var chat = io
.of('/chat') // namespace
.on('connection', function (socket) {
socket.on('message', function (data) {
chat.emit('message', data);
});
});
server.listen(3000);
在该文件中:
<div id="chat-log"></div>
<form id="chat-send">
<input name="message">
<input type="submit" value="Send">
</form>
<script src="/socket.io/socket.io.js"></script>
<script>
var chatForm = document.getElementById('chat-send');
var chatLog = document.getElementById('chat-log');
var chatSocket = io.connect('/chat');
chatSocket.on('message', function (data) {
chatLog
.appendChild(document.createElement('div'))
.appendChild(document.createTextNode(data.text));
});
chatForm.onsubmit = function () {
chatSocket.emit('message', {
text: chatForm.message.value
});
chatForm.message.value = '';
chatForm.message.focus();
return false;
};
</script>
var chatForm=document.getElementById('chat-send');
var chatLog=document.getElementById('chat-log');
var chatSocket=io.connect('/chat');
chatSocket.on('message',函数(数据){
聊天记录
.appendChild(document.createElement('div'))
.appendChild(document.createTextNode(data.text));
});
chatForm.onsubmit=函数(){
chatSocket.emit('message'{
文本:chatForm.message.value
});
chatForm.message.value='';
chatForm.message.focus();
返回false;
};
然后,您可以从任何地址(GET/
,GET/foo
,GET/bar/baz/qux
)访问聊天室
是否可以有这样的模式URL:
app.get("/:chatter",function(req,res){
console.log("the chatter is",req.param('chatter'));
res.sendfile( __dirname + "/index.html" );
...
});
是的,Express正好支持您列出的路线。文档将其称为“未命名通配符”
但是,对于您的示例,Express/Connect包含一个用于通过将URL路径组合到基本目录来服务文件的URL:
app.use(express.static(__dirname));
类似于facebook聊天。可在所有页面中访问 这不一定与路由有很大关系。您的应用程序可能需要一个路由来收集联系人列表或其他持久数据,但实际的“聊天”将单独管理 一般来说,它取决于在每个页面中包含公共内容——如果使用视图/模板,可能通过“布局”或“继承”——来显示用于输入消息的表单和用于显示聊天历史的区域。此外,大量的聊天“工作”必须在客户端完成 一个简单的例子是为多个URL提供相同的文件:
var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
app.get('/*', function (req, res) {
res.sendfile(__dirname + '/chat.html');
});
var chat = io
.of('/chat') // namespace
.on('connection', function (socket) {
socket.on('message', function (data) {
chat.emit('message', data);
});
});
server.listen(3000);
在该文件中:
<div id="chat-log"></div>
<form id="chat-send">
<input name="message">
<input type="submit" value="Send">
</form>
<script src="/socket.io/socket.io.js"></script>
<script>
var chatForm = document.getElementById('chat-send');
var chatLog = document.getElementById('chat-log');
var chatSocket = io.connect('/chat');
chatSocket.on('message', function (data) {
chatLog
.appendChild(document.createElement('div'))
.appendChild(document.createTextNode(data.text));
});
chatForm.onsubmit = function () {
chatSocket.emit('message', {
text: chatForm.message.value
});
chatForm.message.value = '';
chatForm.message.focus();
return false;
};
</script>
var chatForm=document.getElementById('chat-send');
var chatLog=document.getElementById('chat-log');
var chatSocket=io.connect('/chat');
chatSocket.on('message',函数(数据){
聊天记录
.appendChild(document.createElement('div'))
.appendChild(document.createTextNode(data.text));
});
chatForm.onsubmit=函数(){
chatSocket.emit('message'{
文本:chatForm.message.value
});
chatForm.message.value='';
chatForm.message.focus();
返回false;
};
然后,您可以从任何地址(GET/
,GET/foo
,GET/bar/baz/qux
)访问聊天室
是否可以有这样的模式URL:
app.get("/:chatter",function(req,res){
console.log("the chatter is",req.param('chatter'));
res.sendfile( __dirname + "/index.html" );
...
});