使用 Node.js 快速启动本地静态服务:http-server 和 live-server - I. http-server 简介和用法
http-server是一个简单的零配置命令行HTTP服务器,它强大而易用。http-server是由Node.js编写的,因此,在此之前你需要在你的计算机上安装Node.js。
- 安装
在命令行中输入以下命令来全局安装http-server:
npm install -g http-server
- 使用
安装完成后,你可以在命令行中输入http-server来启动服务器。默认情况下,http-server将在你当前的目录中提供HTTP服务。
如果你想在特定的端口上运行服务器,你可以使用-p选项,如下所示:
http-server -p 8080
如果存在,[path]
默认为 ./public
文件夹,否则为./
现在,你可以通过访问 http://localhost:8080 查看您的服务器
注意:默认会开启缓存,通过添加
-c -1
选项可禁用缓存。
http-server [path] [options]
而使用 npx 可以在不安装脚本的情况下运行脚本:
npx http-server [path] [options]
值得注意的是:
-
index.html
将作为任何目录请求的默认文件。 - 如果找不到文件,将令
404.html
服务,这可用于单页应用程序 (SPA) 托管以服务入口页面。
SSL
首先,需要确保openssl已正确安装,并且拥有key.pem
和cert.pem
文件。之后可以使用以下命令生成它们:
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
简单来说,就是当你要创建一个证书时,会有一些问题需要回答。如你想让这个证书在电脑或浏览器中被认可,就需要把通用名称设置为127.0.0.1。就好像你要进入一个游乐园,需要出示一张入场券一样,这个证书就是你进入电脑或浏览器的入场券,它们将在3650天内有效(大约10年)。
然后你需要使用-S参数来启动服务器,以启用SSL并使用-C参数指定证书文件。
http-server -S -C cert.pem
如果你想在私钥中使用密码短语,可以在openssl命令中通过-passout
参数指定密码(使用密码为foobar
)。
例如:openssl req -newkey rsa:2048 -passout pass:foobar -keyout key.pem -x509 -days 365 -out cert.pem
出于安全原因,密码短语将仅从NODE_HTTP_SERVER_SSL_PASSPHRASE
环境变量中读取。
如果成功,应该会输出以下内容:
Starting up http-server, serving ./ through https
http-server settings:
CORS: disabled
Cache: 3600 seconds
Connection Timeout: 120 seconds
Directory Listings: visible
AutoIndex: visible
Serve GZIP Files: false
Serve Brotli Files: false
Default File Extension: none
Available on:
https://127.0.0.1:8080
https://192.168.1.101:8080
https://192.168.1.104:8080
Hit CTRL-C to stop the server
上一篇: 004:网络基础知识