使用Node.js作为简单的Web服务器
使用Node.js作为简单的Web服务器
我想运行一个非常简单的HTTP服务器。每个对example.com
的GET请求都应该得到index.html
作为一个常规的HTML页面(即,与阅读普通网页相同的体验)。
使用下面的代码,我可以读取index.html
的内容。如何将index.html
作为常规的网页服务?
var http = require('http'); var fs = require('fs'); var index = fs.readFileSync('index.html'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end(index); }).listen(9615);
下面的一个建议很复杂,需要我为每个资源(CSS、JavaScript、图像)文件编写一个get
行才能使用。
如何用一张HTML页面,包含一些图像、CSS和JavaScript来服务?
admin 更改状态以发布 2023年5月22日
注意:这个回答是从 2011 年的。但是,它仍然有效。
你可以使用 Connect 和 ServeStatic 来在 Node.js 中实现这个功能:
-
使用 NPM 安装 Connect 和 ServeStatic
$ npm install connect serve-static
-
创建 server.js 文件,内容如下:
var connect = require('connect'); var serveStatic = require('serve-static'); connect() .use(serveStatic(__dirname)) .listen(8080, () => console.log('Server running on 8080...'));
-
在 Node.js 中运行
$ node server.js
现在你可以访问 http://localhost:8080/yourfile.html