我想用 node.js 和 socket.io 为我的网站添加一些实时功能,但不必处理页面请求/响应的麻烦。我能否获得正常的文件夹功能,它首先提供 index.html,然后自动加载任何 js/css 依赖项?
谢谢!
我想用 node.js 和 socket.io 为我的网站添加一些实时功能,但不必处理页面请求/响应的麻烦。我能否获得正常的文件夹功能,它首先提供 index.html,然后自动加载任何 js/css 依赖项?
谢谢!
您可以使用 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);
如果您只想提供静态文件,使用 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
...
...
我使用了一种略有不同的方法,结果相同:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.listen(process.env.PORT || 3000);