ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

portless 完整指南:15 个 PORTLESS 环境变量一次配好本地代理

portless 完整指南:15 个 PORTLESS 环境变量一次配好本地代理 portless 完整指南15 个 PORTLESS 环境变量一次配好本地代理【免费下载链接】portlessReplace port numbers with stable, named local URLs. For humans and agents.项目地址: https://gitcode.com/GitHub_Trending/por/portless你的应用端口每次启动都在变443 被占用又不知道去哪改配置portless 用「命名 URL」取代随机端口——portless myapp next dev之后直接访问https://myapp.localhost。它背后只有 15 个PORTLESS_*环境变量全部调优旋钮都在这里本文按功能分组讲透并配 5 个高频场景照抄命令即可。一条请求的完整链路浏览器、代理与那个随机端口先花 20 秒建立心智模型后面所有变量都能挂到这上面浏览器 https://myapp.localhost │ ▼ portless 代理HTTPS 443 / HTTP 80可用 PORTLESS_PORT 改 │ 查 routes.json 找到归属 ▼ 你的开发服务器随机端口 4000–4999通过 PORT 注入请求先落到代理代理查路由表把流量转发给这个应用对应的端口。端口每次从 4000–4999 随机挑一个通过PORT注入子进程绝大多数框架自动遵守。所有PORTLESS_*变量本质上只改四种东西代理听哪个端口、应用占哪个端口、域名长什么样、要不要对手机和公网开门。把 15 个 PORTLESS 环境变量分成 4 组面对 15 个变量不用逐个背按它们解决的问题归成 4 组找旋钮时先定位组接入层——PORTLESS_PORT、PORTLESS_HTTPS、PORTLESS_TLD、PORTLESS_WILDCARD、PORTLESS_SYNC_HOSTS决定代理在哪个端口、用什么协议和域名后缀接流量以及要不要动/etc/hosts。应用层——PORTLESS_APP_PORT、PORTLESS_STATE_DIR决定你的应用占哪个端口、routes.json和proxy.pid等状态文件放哪里。分享层——PORTLESS_LAN、PORTLESS_LAN_IP、PORTLESS_TAILSCALE、PORTLESS_FUNNEL、PORTLESS_NGROK决定开发页能不能被同网段的手机或公网访问。注入层——PORTLESS_URL、PORTLESS_TAILSCALE_URL、PORTLESS_NGROK_URL这是代理注入给子进程的变量让应用代码知道自己的 URL你只读不要自己设。真实场景实操改端口、LAN 模式、一键分享与绕开代理每组讲一句还不够下面是五个最常被问到的场景统一按「问题 → 命令 → 验证」走。场景一443 被占用或需要 root问题绑定 443 要提权开发机上还常被别的进程占掉。命令PORTLESS_PORT8443 portless proxy start # 写进 ~/.bashrc 可长期生效验证浏览器访问https://myapp.localhost:8443。注意非数字或超出 1–65535 的值会被直接忽略回落到协议默认端口443 或 80不会报错容易让你以为没生效。场景二固定应用端口问题外部工具已指定端口 3100或者你希望端口永远不变。命令PORTLESS_APP_PORT3100 portless myapp next dev验证portless list里该应用的端口是 3100子进程打印的PORT也是 3100。取值必须在 1–65535否则启动时直接报错退出。场景三portless LAN 模式手机同网调试问题想让同一 Wi-Fi 下的手机直接看开发页面。命令PORTLESS_LAN1 portless # VPN/多网卡可再加 PORTLESS_LAN_IP192.168.1.50验证手机浏览器打开https://myapp.local。代理此时绑定0.0.0.0/::并用 mDNS 发布.local主机名。两个细节portless 会把 LAN 模式写进proxy.lan记住停止后重启仍是 LAN 模式想临时切回.localhost只需单次加PORTLESS_LAN0写进~/.bashrc的PORTLESS_LAN1则让每次启动默认进 LAN 模式。场景四一键公网分享问题给外网同事演示不想改任何框架配置比如basePath。命令PORTLESS_FUNNEL1 portless myapp # 走 Tailscale Funnel 公网分享隐含启用 tailscale验证portless list同时列出本地 URL 和分享 URL把分享地址发出去即可应用退出时隧道与 serving 自动清理。想用 ngrok 就把变量换成PORTLESS_NGROK1只想内网分享用PORTLESS_TAILSCALE1。前提tailscaleCLI 已连接并开启 HTTPS 证书或ngrokCLI 已配置 authtoken。场景五绕开代理调试以及两套代理状态并存问题想调试代理本身、跑vite build这类不监听端口的任务或者一台机器上同时跑「日常.localhost代理」和「独立 LAN 服务」。命令PORTLESS0 pnpm dev # 完全绕开 portless 代理直接执行命令PORTLESS_STATE_DIR~/.portless-lan PORTLESS_LAN1 portless service install验证PORTLESS0时终端没有任何代理日志、命令退出码原样透传portless proxy、portless clean这类子命令不受旁路影响照常执行。第二条命令把环境变量固化进服务定义~/.portless-lan里会有一份独立的routes.json和proxy.pid与默认~/.portless互不干扰。谁说了算优先级链与覆盖规则改完变量不生效大概率是下面三条规则中的一条在起作用appPort 优先级链从高到低--app-port参数 PORTLESS_APP_PORT环境变量 package.json的portless键 portless.json 自动分配4000–4999。显式环境变量永远压过配置任何PORTLESS_*显式设置都优先于portless.json和上次运行记忆的默认值没有显式设置时自动启动的代理会沿用最近一次运行记忆的端口、TLS、TLD 配置所以重启不会悄悄回退。运行中的代理不吃新变量已有代理在运行时修改环境变量portless 会警告并要求你先portless proxy stop新值只对新启动的代理生效。常见困惑❓环境变量和portless.json冲突听谁的显式环境变量始终优先其次才是配置文件最后才是上次运行记忆。❓PORTLESS_TLD写了.local或.dev为什么有警告.local与 mDNS/Bonjour 冲突.dev被 Google 持有且预载 HSTS 会强制 HTTPS官方推荐用 IANA 保留的.test。❓为什么停掉再启动还是 LAN 模式LAN 状态被写进了状态目录的proxy.lan标记文件单次切回用PORTLESS_LAN0彻底清除则删除该状态文件里的标记。❓PORTLESS_URL要自己配吗不用。它是代理启动子进程时注入的和PORT、HOST通常为127.0.0.1Expo LAN 模式下省略、HTTPS 时的NODE_EXTRA_CA_CERTS一起出现在子进程环境里代码里直接process.env.PORTLESS_URL读取即可。PORTLESS 环境变量速查卡按「接入 → 应用 → 分享 → 注入」分组一行一个旋钮分组变量默认值说明接入层PORTLESS_PORT443HTTPS/80HTTP改代理监听端口非法值静默回落接入层PORTLESS_HTTPS开启设0切纯 HTTP等价--no-tls接入层PORTLESS_TLDlocalhost逗号分隔多 TLD最长后缀优先PORTLESS_URL取第一个接入层PORTLESS_WILDCARD严格匹配设1允许未注册子域回退到父路由接入层PORTLESS_SYNC_HOSTS开启设0停止自动同步/etc/hosts应用层PORTLESS_APP_PORT随机 4000–4999固定应用端口等价--app-port应用层PORTLESS_STATE_DIR~/.portless重定位routes.json、proxy.pid等状态文件分享层PORTLESS_LAN关闭设1启用 LAN 模式mDNS 发布.local分享层PORTLESS_LAN_IP自动探测固定 LAN 模式使用的 IP分享层PORTLESS_TAILSCALE关闭设1在 Tailscale 内网分享分享层PORTLESS_FUNNEL关闭设1经 Tailscale Funnel 公网分享隐含 tailscale分享层PORTLESS_NGROK关闭设1经 ngrok 公网分享注入层PORTLESS_URL—子进程可见的应用主 URL注入层PORTLESS_TAILSCALE_URL—启用 Tailscale/Funnel 时注入的地址注入层PORTLESS_NGROK_URL—启用 ngrok 时注入的地址另有一个不带星号的隐藏开关PORTLESS0让普通命令跳过代理直接执行子命令proxy、clean等不受影响。延伸阅读配置全字段说明配置文档所有命令与标志位命令参考环境解析实现packages/portless/src/cli-utils.ts变量注入见 packages/portless/src/cli.ts15 个变量看着多记牢「接入、应用、分享、注入」四组再对着速查卡查具体值任何场景你都能一行环境变量搞定。【免费下载链接】portlessReplace port numbers with stable, named local URLs. For humans and agents.项目地址: https://gitcode.com/GitHub_Trending/por/portless创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表