很多时候我们对移动端进行测试的时候,有pc端的测试,也有真机上的测试,pc的测试就不多说了,因为其实基本上大家都懂的。真机测试上也有几种方法,这里就推荐三种:

移动端真机调试方法

  1. chrome真机调试

  2. weinre调试

  3. spy-debugger调试

当然我这里就不详细去讲这几种的真机调试到方法了,详细可以看 9102 了,你还不会移动端真机调试?

但是我这里就讲一下另一种不一样的真机测试--node打开移动项目

  step1

  首先先准备好基本的项目,因为个人用angular比较多,这里就拿angular举例。(当然vue的项目,已经普通的html也是同样的道理的,因为没有用过react的原因,这里不好拿出来讲),因此我们需要用到打包的项目

新建并打包一个angular项目,如图

  step2

  然后我们要用node去打开项目,找到对应的文件的路径(这里我建议用绝对路径,不要用__dirname,因为会影响之后获取的css,js等文件),当然我们也需要转换文件的格式json文件,无论是css,js,图片的格式通过node读取的话都要转换文件的格式。

  对应的代码

let porject_url = 'F:/exercise/vue/vue/dist'

/*
* 打开项目
* */
function openProject(req,res,path){
if(req.url == '/' && req.method == 'GET'){
load(res,porject_url+'/index.html', 'text/html; charset=utf-8');
}else{
fs.stat(porject_url+req.url,function(err,stat){
//判断是否出错或者路径并不是文件而是文件夹
if(err || !stat.isFile()){
res.writeHead(404);
res.end('Not Found');
return;
}
getFormat(req.url,function(format){
load(res,porject_url+req.url,format);
});
});
}
} function load(res,path,type){
res.writeHead(200,{'Content-Type':type});
// 使用fs读取文件的方法,把文件流放入页面响应中
fs.createReadStream(path).pipe(res);
} function getFormat(file,callback){
var str = /\.[^\.]+$/.exec(file)[0];
fs.readFile('F:/exercise/node/openMobileProject/json/mime.json','utf8',function(err,data){
var obj = eval('(' + data + ')');
var format = obj[str];
callback(format);
});
}

  搭建一个node服务器,并运行打开项目的文件

/*
* 加载资源模块
* */
const http = require('http');
const fs = require('fs');
const url = require('url');
const webServer =  http.createServer(function(req, res){
openProject(req,res,'/html/test.html');
});
webServer.listen(3032,function(){
console.log('服务器已经开启,端口为3032');
});

  step3

  运行node文件查看最钟的效果,这里就不显示真机的效果了,如果需要看到真机的效果,我们通过命令提示符拿到我们当前的ip地址,凭借上我们的端口号,就可以访问到我们的项目,当然注意要连自己的wifi或者内网的wifi。

运用node真机调试移动web项目的更多相关文章

  1. ios 真机调试 could not find Developer Disk Image

    同事不小心把iphone测试机升级到了最新系统, 真机调试以前的项目时候不能运行, 提示could not find Developer Disk Image. 原因:缺少最新系统9.3的镜像 解决办 ...

  2. 如何实用便捷的在本地真机调试WEB端HTML5网页

    先简单介绍两款常用但需要一定条件或限制的工具 1.如果你能FQ chrome在32版本后就自带了移动端调度工具,可以在Android直接联调,但唯一遗憾的是,在我大天朝要FQ后才能行的通,我自己试了后 ...

  3. 开源项目在真机调试(Coding iOS 客户端为例)

    一.前言 iOS 13学习系列:如何在github下载开源项目到本地(Coding iOS 客户端为例)已经把 Coding iOS 客户端源码下载到本地. 但项目进行真机调试遇到很多问题. 二.问题 ...

  4. Android-studio 连接真机 调试weex项目

    1.选择项目 platforms  /  android 2.创建虚拟机(AVD) (1)点击 AVD Manager (2) 点击  Create Virtual Device 最后发现 CPU 不 ...

  5. 真机调试方法- IOS/Android移动设备

    真机调试 调试安卓 方法一 开启手机的USB调试 安装运行项目 使用chrome步骤如下图 打开开发者工具 打开设备管理 选择设备进行debug 方法二: 直接在地址栏输入chrome://inspe ...

  6. 网页真机调试之Browsersync简介

    以前的调试方式 修改完项目文件(html.js.css等)后保存,在浏览器刷新页面查看修改后的效果 本地开启一个 tomcat 服务,修改文件后保存刷新页面,移动端或其他 pc 则需要输入 ip + ...

  7. HBuilder开发App Step1——环境搭建,HelloMUI 以及真机调试

    No1. 必须搭建java环境 只需要最基础的java环境,也就是cmd下可以运行java和javac即可, 具体教程请自行百度,都会有很详细的教程,这里不重点介绍. No2. 下载安装HBuilde ...

  8. Windows 下 Hbuilder 真机调试(Android,iphone)

    概述:主要讲讲自己在使用 HBuilder 真机调试功能时遇到的问题,以及如何解决.Android 相对没有遇到什么大问题,在电脑安装如360手机助手就可以正常使用了,主要问题是在 iphone 上( ...

  9. iOS开发:创建真机调试证书及描述文件

    iOS开发:创建真机调试证书及描述文件 关于苹果iOS开发,笔者也是从小白过来的,经历过各种困难和坑,其中就有关于开发证书,生产证书,in_house证书,add_Hoc证书申请过程中的问题,以及上架 ...

随机推荐

  1. Linux----------mysql进阶

    目录 一.破解密码以及无密码登录 1.1 破解密码 1.2 无密码登录 1.3 定义不同的客户端 1.4 家目录下 二.视图 三.函数 3.1 系统函数 3.2 自定义函数 3.3 自定义函数中定义局 ...

  2. 学习3DES加密算法笔记

    3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计 ...

  3. myql 格式化日期

    date_format(a.balance_date,'%Y-%m')= date_format(#{balanceDate},'%Y-%m')

  4. 在mysql配置文件修改sql_mode或sql-mode 怎么办?

    很多在安装程序配置数据库这一步中会出现: 请在mysql配置文件修改sql_mode或sql-mode 这个问题处理很简单: mysql中修改my.cnf,找到sql_mode,修改值为: NO_AU ...

  5. linux 中 && 及|| 判断原理

    [root@linuxprobe ~]# [ $USER = root ] && echo "root" || echo "user"root[ ...

  6. 通用Mapper简单使用

    通用Mapper 1.通用Mapper的使用 1.0.实体类 @Table(name = "tb_user") public class User { @Id @Generated ...

  7. python 函数内使用自己的函数名

    def p(): import sys print sys._getframe(1).f_code.co_name def f(): p() def f1(): p() if __name__ == ...

  8. k8s nodeport下访问请求未被分发到所有node的排错(转)

    原文 https://www.myf5.net/post/2343.htm 现象: 从内部某个pod的容器里直接访问service的cluster地址,请求可以被正常转发到各个node上的pod里 但 ...

  9. Best Practices and Recommendations for RAC databases with SGA size over 100GB (文档 ID 1619155.1)

    Best Practices and Recommendations for RAC databases with SGA size over 100GB (文档 ID 1619155.1) APPL ...

  10. logging模块全总结

    Python之日志处理(logging模块)   本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四 ...