• Vue2.5 旅游项目实例26 联调测试上线-真机测试


    我们访问项目都是在浏览器输入 http://localhost:8080/#/

    打开一个命令行窗口,获取当前机器的内网IP

    window输入:ipconfig

    mac输入:ifconfig

    得到自己的内网ip后,按说输入 http://192.168.0.xxx:8080 一样可以访问到项目,但是却报错,显示无法访问。

    这是因为我们前端的项目,是通过 webpack 的 dev server启动的,但是 webpack 的 dev server 默认不支持通过IP的形式进行页面的访问。所以我们需要把它默认的配置项做一个修改。

    打开代码,在项目的根目录下有一个package.json文件:

    "scripts": {
        "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    
    // 修改为
    
    "scripts": {
        "dev": "webpack-dev-server --host 0.0.0.0 --inline --progress --config build/webpack.dev.conf.js",

    保存后,重启服务。

    这时输入 http://192.168.0.xxx:8080/#/ 就可以访问了。

    我们可以通过手机连接内网,在手机浏览器输入IP地址访问页面,然后就可以在手机上进行各项的测试了。

    当我们访问到城市列表页,拖动右侧字母表时,发现整个屏幕都会跟着上下滚动,所以我们要修改下代码。

    打开city目录下的Alphabet.vue文件,添加事件修饰符 prevent :

    <li class="item" @click="handleClick"
          @touchstart.prevent="handleTouchStart"
          @touchmove="handleTouchMove"
          @touchend="handleTouchEnd"
          v-for="item in letters" :key="item" :ref="item">{{item}}</li>

    然后重新刷新页面,手指滑动字母表,就跟着切换了。

    当然不同手机可能测试的效果不太一样,比如低版本的安卓手机,可能会出现白屏的效果。

    这可能是两种情况造成的:

    1.你的手机浏览器默认不支持Promise

    解决办法:安装第三方的包 babel-polyfill 

    npm install babel-polyfill --save

    这个包的作用是:会判断如果浏览器没有 Promise ,会自动往里添加这些ES6的新特性。

    安装完成后,重启下服务,在打开main.js文件,添加引入:

    import 'babel-polyfill'

    再刷新页面,没有问题了。

    2.webpack dev server的问题

    解决办法:打包上线测试

  • 相关阅读:
    Spring IOC(二)
    Spring组件注册
    第六章:随机数和expect
    第二十一节:异常处理
    第二十节:基础知识阶段复习
    LVM逻辑卷管理
    第十九节:类的装饰器和数据描述符的应用
    第十八节:上下文管理协议
    第十七节:数据描述符
    第十六节:内置函数补充
  • 原文地址:https://www.cnblogs.com/joe235/p/12518767.html
Copyright © 2020-2023  润新知