我想运行一个非常简单的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"\&引用;C:\nodejs\light server.cmd\"\&引用-o\"\&引用-s\"\"E;%V\"&引用;
简单JSON REST服务器
如果您需要为原型项目创建一个简单的REST服务器,那么json服务器可能就是您想要的
自动刷新编辑器
大多数网页编辑器和IDE工具现在都包含一个web服务器,它可以监视源文件,并在它们更改时自动刷新网页
我使用带有Visual Studio代码的Live Server
开源文本编辑器括号中还包括一个NodeJS静态web服务器。只需打开括号中的任何HTML文件,按"实时预览;它会启动一个静态服务器,并在页面上打开浏览器。每当您编辑和保存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的自动刷新视图