研究 File System Access API 时突发奇想写的一个小工具,结合 Service Worker API 可实现 HTTP 服务器。
打开网页选择一个文件夹,即可实现 HTTP 服务(当然只有本地可访问)。相当于把本地文件映射到虚拟 URL ,文件更新可实时生效。
github.com/EtherDream/http-server-online
支持远程也不难,通过 websocket 内网穿透即可实现,就是比较费流量。之后有空再加上。
1
kkocdko 2021-10-27 00:15:24 +08:00 via Android
神奇!从没想过有这样的用法
|
2
binux 2021-10-27 08:14:15 +08:00 via Android
我以为这个 HTTP 服务器是那种在一个端口上可以被另一个客户端访问的那种。。
|
3
netnr 2021-10-27 08:22:51 +08:00 via Android
有一种 electron 的味道
|
4
zhw2590582 2021-10-27 09:47:26 +08:00
未曾设想道路
|
5
zoharSoul 2021-10-27 09:57:38 +08:00
这思路有意思
|
6
vazo 2021-10-27 10:03:05 +08:00
红豆泥
|
7
fxt0706 2021-10-27 10:21:20 +08:00
[Web Server for Chrome]( https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb)
|
9
cweijan 2021-10-27 11:41:52 +08:00
虽然没什么实际作用, 但是非常酷!
|
10
2i2Re2PLMaDnghL 2021-10-27 11:51:03 +08:00
结合一下 WASM+enscripten 是不是能以任意语言为后端语言?
|
11
iqoo OP @2i2Re2PLMaDnghL 可以的,之前还考虑加上 php 功能。不过插件不好实现,比如 mysql 、curl 等,体积也比较大。
|
12
wensonsmith 2021-10-27 13:43:59 +08:00
Cool !
|
13
Robertwhite 2021-10-27 17:39:13 +08:00
这个原理是啥?
访问 https://http-server.etherdream.com/img1.png 的时候,被 Service Worker 拦截,然后分析路径,通过 File System Access API 去加载本地文件,返回给拦截的请求,是这样吗? |
14
iqoo OP @Robertwhite 是
|
15
0Vincent0Zhang0 2021-10-27 22:10:26 +08:00
这个“HTTP 服务”其实并没有开启,只是让浏览器访问本地文件而已😂
|
16
chenyi 2021-10-28 08:53:07 +08:00
@0Vincent0Zhang0 chrome 不就支持这样吗
|
17
iqoo OP @0Vincent0Zhang0 但是有 HTTPS 协议的 URL 😂
|
18
keventseng 2021-10-28 14:52:05 +08:00
chrome 有一款插件,好像就是这么个原理?
|
19
40EaE5uJO3Xt1VVa 2021-10-31 10:46:17 +08:00
我没看懂,啥意思, 通过浏览器访问本地文件? 映射成 URL ? 有啥用
|
20
iqoo OP @yanzhiling2001 可以用来预览本地的静态网站
|