繁体   English   中英

node.js / socket.io如何分离html的javascript?

[英]node.js/socket.io how to separate javascript of the html?

我想分离HTML的Javascript代码。

这是我当前的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吗? 实际上,index.html上的Javascript控制台显示“无法获取http :: localhost / client.js”。

有任何想法吗 ? 非常感谢。

尼古拉斯。

您必须为静态内容添加一个文件夹,然后将其添加到快速配置中:

app.configure(function(){
    app.use(express.static(__dirname + '/public'));
});

之后,您可以删除app.get('/')路由

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM