手机调试 React+Webpack 页面的最佳方法?

发布于 2022-09-01 23:05:25 字数 628 浏览 16 评论 0

我有一个项目用到了 Webpack,React,webpack-dev-server 和 react-hot-loader。应用本身的服务器是 Express,在 3000 端口上。打包的 JS 文件在 webpack-dev-server 上,8080端口。

本地调试没问题,但是现在我想用手机调试网页遇到了问题。

  1. 我可以在手机上通过 <IP:3000> 访问开发机上的页面,但是在 HTML 里引用打包 JS 文件的地址是localhost:8080,手机能访问网页,访问不到 JS。

  2. 我尝试过用 webpack-dev-middleware,通过 Express 中间件提供打包文件,不用另外的服务器。这样没问题。但是因为 nodemon 会自动重启服务器,hot-loader 不能正常工作(用的是 webpack-hot-middleware)。

另外,我有一台云服务器,Nginx 上设置了端口转发,通过 SSH 隧道转到开发机。可以通过域名访问开发机上的页面。相当于直接访问<开发机 IP:3000>,这样访问页面方便点,但还是存在无法访问打包文件的问题。

求指点,怎么设置开发环境,可以兼顾本地开发测试和手机调试页面。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

゛清羽墨安 2022-09-08 23:05:25

题主提到:HTML 里引用打包 JS 文件的地址是localhost:8080。那可以将HTML里的js文件地址作为变量<Static-IP:8080>,开发时配置成开发机的地址,发布时配置成CDN的地址就OK了。

故事和酒 2022-09-08 23:05:25

你的开发机自己配置一个域名,设置好hosts,本地配置好基于那个域名的访问
然后开启Charles,手机设置全局的代理到Charles的地址上
然后手机通过这个域名访问你的机器

当然了,除了Charles,任意可以做代理的软件其实都可以

一袭白衣梦中忆 2022-09-08 23:05:25

Localhost改成0.0.0.0

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文