Node 中的简单静态 HTML 服务器

Posted

技术标签:

【中文标题】Node 中的简单静态 HTML 服务器【英文标题】:Simple static HTML server in Node 【发布时间】:2014-01-31 15:03:34 【问题描述】:

我想制作一个简单的服务器,以便在开发时提供本地 html 和 JS 文件。

我试图让一个节点应用程序只获取 URL 中的任何内容,并用页面进行响应,但没有运气(这是我对 express 的尝试)。

var fs = 要求(“fs”); 变种主机=“127.0.0.1”; 变量端口 = 1337; var express = require("express"); var app = express(); app.use(app.router); //同时使用root和下面的其他路由 app.use(express.static('c:\\users\\pete\\projects\\')); //使用ROOT/public文件夹中的静态文件 app.get("/*", function(req, res) //根目录 fs.readFile(req.path, function(err,html) 如果(错误) 控制台日志(错误); 返回; res.write(html); 重发(); ); ); app.listen(端口,主机);

但这总是在c:\ 寻找文件,而不是正确的路径。

我也尝试过 http-server 作为一个简单的静态服务器,但是在提供 js 文件时它总是崩溃。 https://github.com/nodeapps/http-server

我需要能够简单地提供您的基本 html、css、js 文件,并希望从 URL 中提供的任何路径。这只是为了本地前端开发。 有什么帮助吗?

【问题讨论】:

【参考方案1】:

你应该给出fs.readFile的完整路径

fs.readFile('c:\\users\\pete\\projects\\'+req.path, function(err,html)

或者你可以这样做

var host = "127.0.0.1";
var port = 1337;
var express = require("express");

var app = express();
app.use('/', express.static('c:\\users\\pete\\projects\\'));
app.listen(port, host);

【讨论】:

【参考方案2】:

如果您对超轻型 http 服务器感兴趣,没有任何先决条件 你应该看看:mongoose你可以用它来服务器你的文件,它小于 10MB

【讨论】:

【参考方案3】:

如果您正在寻找可以做的节点中的轻型网络服务器:

提供静态文件(静态 html、js、css、图像) 在服务器端的节点中执行index.js JS 文件 (index.js 在您的文档根目录或任何文件夹中) 在更改或出错时重新加载您的 index.js 应用程序 执行任何给定的 JS 函数 可选显示文件夹内容 可选的错误页面 可选处理 socket.io 数据包、会话等

您可以查看项目Web Development Node.js Server

您可以从几个工作演示开始:

Hello world 最简单的示例,静态和动态内容服务 Chat in Angular 1 Angular.JS 1 中的静态内容、动态 HTTP 请求、websocket 请求、客户端 Chat in pure JS 最复杂的例子,静态内容、动态 HTTP 请求、websocket 请求

服务器类可以用标准的javascript方式扩展, 所以你可以做任何事情来自定义行为。

源代码简短易懂,可以做大部分 一切,初学者所需要的网络服务器。

【讨论】:

以上是关于Node 中的简单静态 HTML 服务器的主要内容,如果未能解决你的问题,请参考以下文章

Node实现静态服务器

nginx 在前端中的简单应用

创建一个简单的 node.js 静态服务器

Node教程-HTTP协议,开发一个简单的静态网站

最简单的方式创建node.js 静态服务器

用node.js搭建一个静态资源站 html,js,css正确加载 跳转也完美实现!