将Node.js用作简单的web服务器

我想运行一个非常简单的HTTP服务器。对example.com的每个GET请求都应该获得index.html服务,但作为常规html页面(即,与阅读普通网页时相同的体验)

使用下面的代码,我可以阅读index.html的内容。如何将index.html作为常规网页提供

var http=require('http');
var fs=需要('fs');
var index=fs.readFileSync('index.html');
http.createServer(函数(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
res.end(索引);
}).听(9615);

下面的一个建议很复杂,需要我为每个要使用的资源(CSS、JavaScript、图像)文件编写一行get

如何为一个HTML页面提供一些图像、CSS和JavaScript

最简单的Node.js服务器就是:

$npm安装http服务器-g

现在,您可以通过以下命令运行服务器:

$cd MyApp
$http服务器

如果您使用的是NPM 5.2.0或更新版本,则可以使用http服务器,而无需将其与npx一起安装。这不建议在生产中使用,但这是一种在本地主机上快速运行服务器的好方法

$npx http服务器

或者,您可以尝试此操作,打开web浏览器并启用CORS请求:

$http服务器-o--cors

有关更多选项,请查看GitHub上http服务器的文档,或运行:

$http服务器--帮助

许多其他优秀的功能和简单的部署到NodeJitsu

功能分叉

当然,您可以使用自己的fork轻松地添加这些特性。您可能会发现,该项目现有的800多个分支之一已经完成了这项工作:

  • https://github.com/nodeapps/http-server/network

轻型服务器:自动刷新的替代方案

httpserver的一个不错的替代方案是lightserver。它支持文件监视和自动刷新以及许多其他功能

$npm安装-g light server
$light服务器

添加到Windows资源管理器中的目录上下文菜单中

reg.exe添加HKCR\Directory\shell\LightServer\command/ve/t reg\u EXPAND\u SZ/f/d&quot\&引用;C:\nodejs\light server.cmd\&quot\&引用-o\&quot\&引用-s\&quot\&QUOTE;%V\&quot&引用;

简单JSON REST服务器

如果您需要为原型项目创建一个简单的REST服务器,那么json服务器可能就是您想要的

自动刷新编辑器

大多数网页编辑器和IDE工具现在都包含一个web服务器,它可以监视源文件,并在它们更改时自动刷新网页

我使用带有Visual Studio代码的Live Server

开源文本编辑器括号中还包括一个NodeJS静态web服务器。只需打开括号中的任何HTML文件,按&quot实时预览;它会启动一个静态服务器,并在页面上打开浏览器。每当您编辑和保存HTML文件时,浏览器将自动刷新。这在测试自适应网站时特别有用。在多个浏览器/窗口大小/设备上打开HTML页面。保存HTML页面,并立即查看自适应内容是否在自动刷新时正常工作

Web/SPA/PWA/Mobile/Desktop/Browser-Ext-Web开发者

一些SPA框架包括Webpack DevServer的内置版本,该版本可以检测源文件更改并触发SPA或PWA web应用的增量重建和修补(称为热重新加载)。这里有几个流行的SPA框架可以做到这一点

VueJS开发人员

对于VueJS开发人员来说,最受欢迎的是Quasar框架,它包括Webpack DevServer开箱即用,带有支持服务器端渲染(SSR)的开关和解决CORS问题的代理规则。它包括大量经过优化的组件,设计用于移动和桌面。这些允许您为所有平台(SPA、SPA+SSR、PWA、PWA+SSR、Cordova和Capactor Mobile AppStore应用程序、Electron Desktop Node+VueJS应用程序甚至浏览器扩展)构建一个应用程序

另一个流行的是NuxtJS,它还支持静态HTML/CSS代码生成以及SSR或无SSR构建模式,并带有用于其他UI组件套件的插件

React框架开发者

ReactJS开发人员还可以设置热重新加载

Cordova/电容器+离子框架开发商

图标是一个仅限移动的混合组件框架,现在支持VueJS、React和Angular开发。具有自动刷新功能的本地服务器被烘焙到ionic工具中。只需从应用程序文件夹中运行ionic service。更好的是ionic serve--lab可同时查看iOS和Android的自动刷新视图

发表评论