localtunnel 可以让你的本地服务器暴露到公网,方便测试和分享! 无需配置 DNS 或部署即可让其他人测试你的更改。
非常适合用于:
npx localtunnel --port 8000
npm install -g localtunnel
yarn add localtunnel
或
npm install localtunnel
当全局安装 localtunnel 后,可以直接使用 lt 命令启动隧道:
lt --port 8000
就这么简单! 它会连接到隧道服务器,建立隧道,并告诉你用于测试的 URL。这个 URL 在会话期间会一直有效,你可以分享给其他人一起测试。
即使你重启本地服务器, lt 也足够智能,可以检测到并重新连接。
使用 lt --help 查看所有参数,以下是一些常用参数:
--subdomain: 请求指定的子域名(默认是随机字符)--local-host: 代理到 localhost 以外的主机名--port: 本地服务端口号(必填)--open: 在浏览器中打开隧道 URL也可以通过环境变量指定参数,例如:
export LT_PORT=8000
lt
localtunnel 客户端也提供了 API 接口(用于测试集成、自动化等):
const localtunnel = require("localtunnel");
(async () => {
const tunnel = await localtunnel({ port: 3000 });
// 分配的公网隧道 URL
// 例如: https://abcdefgjhij.localtunnel.me
console.log(tunnel.url);
tunnel.on("close", () => {
// 隧道关闭
});
})();
port (必填): 要暴露的本地端口号subdomain: 请求特定的子域名(注意:取决于可用性可能无法获得指定名称)host: 上游代理服务器 URL,默认为 https://localtunnel.melocal_host: 代理到指定主机名而不是 localhostlocal_https: 启用到本地 HTTPS 服务器的隧道local_cert: 本地 HTTPS 服务器的证书 PEM 文件路径local_key: 本地 HTTPS 服务器的证书密钥文件路径local_ca: 自签名证书的证书颁发机构文件路径allow_invalid_cert: 禁用本地 HTTPS 服务器的证书检查tunnel 实例会触发以下事件:
| 事件 | 参数 | 说明 |
|---|---|---|
| request | info | 当隧道处理请求时触发,包含 method 和 path 字段 |
| error | err | 当隧道发生错误时触发 |
| close | - | 当隧道关闭时触发 |
| 方法 | 参数 | 说明 |
|---|---|---|
| close | - | 关闭隧道 |
查看 localtunnel/server 了解支持 localtunnel 的服务端详情。
MIT