Python的http.server(或Python 2中的SimpleHTTPServer)是一种从命令行服务于当前目录内容的好方法:
python -m http.server
然而,就 Web 服务器而言,它非常慢......
它的行为就像单线程一样,并且偶尔在使用 RequireJS 加载 JavaScript AMD 模块时会导致超时错误。即使加载没有图片的简单页面也可能需要五到十秒钟。
有什么更快的替代方案,而且同样方便吗?
Python的http.server(或Python 2中的SimpleHTTPServer)是一种从命令行服务于当前目录内容的好方法:
python -m http.server
然而,就 Web 服务器而言,它非常慢......
它的行为就像单线程一样,并且偶尔在使用 RequireJS 加载 JavaScript AMD 模块时会导致超时错误。即使加载没有图片的简单页面也可能需要五到十秒钟。
有什么更快的替代方案,而且同样方便吗?
又一个基于Node的简单命令行服务器
https://github.com/greggman/servez-cli
这个项目的部分原因是为了解决http-server在Windows上存在的问题。
安装Node.js,然后执行以下命令:
npm install -g servez
servez [options] [path]
index.html
。否则,它将为文件夹提供目录列表。它还提供CORS头。您可以选择使用--username=somename --password=somepass
打开基本身份验证,并可以提供https服务。我喜欢live-server。它非常快速,而且有一个很好的实时重载功能,在开发过程中非常方便。
使用非常简单:
cd ~/Sites/
live-server
默认情况下,它创建一个 IP 为 127.0.0.1 和端口为 8080 的服务器。
如果端口8080不可用,它将使用另一个端口: 如果您需要在本地网络中查看其他计算机上的 Web 服务器,您可以检查您的 IP 并使用以下命令:live-server --host=192.168.1.121
# **
# Get IP address of default interface
# *
function getIPofDefaultInterface()
{
local __resultvar=$1
# Get default route interface
if=$(route -n get 0.0.0.0 2>/dev/null | awk '/interface: / {print $2}')
if [ -n "$if" ]; then
# Get IP of the default route interface
local __IP=$( ipconfig getifaddr $if )
eval $__resultvar="'$__IP'"
else
# Echo "No default route found"
eval $__resultvar="'0.0.0.0'"
fi
}
alias getIP='getIPofDefaultInterface IP; echo $IP'
# **
# live-server
# https://www.npmjs.com/package/live-server
# *
alias live-server='getIPofDefaultInterface IP && live-server --host=$IP'
我过去几年一直在使用filebrowser,这是我发现的最佳替代品。
我喜欢它的功能:
miniserve . --index index.html
serve
(node.js)如果已经安装了node.js,我推荐使用vercel serve
# for node.js >= v14
npm install --global serve
# for node.js <= v13
npm install --global serve@13
serve
http-server
(node.js)http-server的最新版本无法正常工作(请参见issue),但v13版本可以使用。
npm install --global http-server@13
http-server
git instaweb
。 - Drew Noakes