H5移动端开发-无线联调方案

287 阅读1分钟
本文写于2018-08-18,2019年从旧blog迁移到掘金

背景

在H5移动端开发中,我们除了使用chrome提供的移动端模拟器调试应用外,还可以无线在手机浏览器进行实时调试我们的页面。

原理

我们利用ip这样一个nodejs模块来获取应用运行的ip地址,然后可以用在同一局域网中的移动端设备(手机)去访问ip所获取这个网址 + 我们开发中指定的端口号

方案实施

  1. 首先保证你的开发环境(开发服务器)和你的移动设备在同一局域网,也就是同一ip下;
  2. 在利用webpack搭建工程的development部分时,我们利用webpack-dev-middleware 和express来开发一个本地服务器,在代替webpack-dev-server的同时,还能满足更多定制化的需求
  3. 在该服务器中:我们利用webpack-dev-middleware的实例提供的waitUntilValid(callback)方法,在webpack编译完成时,执行我们传入的回调函数,在该回调函数中:我们就可以利用终端打印出我们应用运行的ip地址 + 端口:
const ip = require('ip');
...
const ipURL = `http://${ip.address()}:${PORT}`;
// callback中
console.log(chalk.cyan(`On Your Network: ${ipURL}`));
  1. 然后我们利用在同一局域网中的移动端设备(例如手机浏览器)访问网址ipURL,就可以看到本地起的应用效果了。

代码地址

express + webpack-dev-middleware实现的本地服务器代码在这里

原blog

移动web开发调试方案 -- 适配mobx的真机无线调试