【问题标题】:Default Folder Functionality for Node.JSNode.JS 的默认文件夹功能
【发布时间】:2014-08-21 07:59:30
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: node.js


    【解决方案1】:

    您可以使用 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);
    

    【讨论】:

      【解决方案2】:

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

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

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

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

        app.js
        /public
           index.html
           reset.html
           ...
           ...
           /css
              main.css
              reset.css
              ...
              ...
           /js
              header.js
              util.js
              ...
              ...
      

      【讨论】:

        【解决方案3】:

        我使用了稍微不同的方法,结果相同:

        var express = require('express');
        var app = express();
        
        app.use(express.static(__dirname + '/public'));
        
        app.listen(process.env.PORT || 3000);
        

        【讨论】:

          猜你喜欢
          • 2013-11-06
          • 1970-01-01
          • 2018-05-26
          • 1970-01-01
          • 2012-05-19
          • 2016-05-30
          • 2011-01-28
          • 2018-03-07
          • 1970-01-01
          相关资源
          最近更新 更多