2

我想用 node.js 和 socket.io 为我的网站添加一些实时功能,但不必处理页面请求/响应的麻烦。我能否获得正常的文件夹功能,它首先提供 index.html,然后自动加载任何 js/css 依赖项?

谢谢!

4

3 回答 3

7

您可以使用 Express 框架。将您的文件、所有样式、javascript 文件、其他 HTML 文件放在公共文件夹下。你只需要给express一个入口点,就可以给客户端index.html。

    var fs = require("fs");
    var express = require("express");
    app = express.createServer();

    app.use(express.static(__dirname + '/public'));
    app.get('/', function(req, res) {
        fs.readFile(__dirname + '/public/index.html', 'utf8', function(err, text){
            res.send(text);
        });
    });
    app.listen(3000);
于 2012-05-17T22:58:33.507 回答
2

如果您只想提供静态文件,使用 express 非常简单。

app.js 文件只需要以下几行代码

    var express = require('express');

    var app = express.createServer(
       express.static(__dirname + '/public')
       );

    app.listen(3000);

将所有 html、css、javascript 文件放置在应用程序根目录下的“公共”文件夹中。所以一个典型的 app 文件夹应该是这样的:

  app.js
  /public
     index.html
     reset.html
     ...
     ...
     /css
        main.css
        reset.css
        ...
        ...
     /js
        header.js
        util.js
        ...
        ...
于 2012-05-18T01:50:59.270 回答
1

我使用了一种略有不同的方法,结果相同:

var express = require('express');
var app = express();

app.use(express.static(__dirname + '/public'));

app.listen(process.env.PORT || 3000);
于 2014-08-20T23:59:30.223 回答