簡體   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