运用node真机调试移动web项目
很多时候我们对移动端进行测试的时候,有pc端的测试,也有真机上的测试,pc的测试就不多说了,因为其实基本上大家都懂的。真机测试上也有几种方法,这里就推荐三种:
移动端真机调试方法
chrome真机调试
weinre调试
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项目的更多相关文章
- ios 真机调试 could not find Developer Disk Image
同事不小心把iphone测试机升级到了最新系统, 真机调试以前的项目时候不能运行, 提示could not find Developer Disk Image. 原因:缺少最新系统9.3的镜像 解决办 ...
- 如何实用便捷的在本地真机调试WEB端HTML5网页
先简单介绍两款常用但需要一定条件或限制的工具 1.如果你能FQ chrome在32版本后就自带了移动端调度工具,可以在Android直接联调,但唯一遗憾的是,在我大天朝要FQ后才能行的通,我自己试了后 ...
- 开源项目在真机调试(Coding iOS 客户端为例)
一.前言 iOS 13学习系列:如何在github下载开源项目到本地(Coding iOS 客户端为例)已经把 Coding iOS 客户端源码下载到本地. 但项目进行真机调试遇到很多问题. 二.问题 ...
- Android-studio 连接真机 调试weex项目
1.选择项目 platforms / android 2.创建虚拟机(AVD) (1)点击 AVD Manager (2) 点击 Create Virtual Device 最后发现 CPU 不 ...
- 真机调试方法- IOS/Android移动设备
真机调试 调试安卓 方法一 开启手机的USB调试 安装运行项目 使用chrome步骤如下图 打开开发者工具 打开设备管理 选择设备进行debug 方法二: 直接在地址栏输入chrome://inspe ...
- 网页真机调试之Browsersync简介
以前的调试方式 修改完项目文件(html.js.css等)后保存,在浏览器刷新页面查看修改后的效果 本地开启一个 tomcat 服务,修改文件后保存刷新页面,移动端或其他 pc 则需要输入 ip + ...
- HBuilder开发App Step1——环境搭建,HelloMUI 以及真机调试
No1. 必须搭建java环境 只需要最基础的java环境,也就是cmd下可以运行java和javac即可, 具体教程请自行百度,都会有很详细的教程,这里不重点介绍. No2. 下载安装HBuilde ...
- Windows 下 Hbuilder 真机调试(Android,iphone)
概述:主要讲讲自己在使用 HBuilder 真机调试功能时遇到的问题,以及如何解决.Android 相对没有遇到什么大问题,在电脑安装如360手机助手就可以正常使用了,主要问题是在 iphone 上( ...
- iOS开发:创建真机调试证书及描述文件
iOS开发:创建真机调试证书及描述文件 关于苹果iOS开发,笔者也是从小白过来的,经历过各种困难和坑,其中就有关于开发证书,生产证书,in_house证书,add_Hoc证书申请过程中的问题,以及上架 ...
随机推荐
- Qt creator使用笔记
设置头文件的搜索路径编辑项目文件 xxx.pro INCLUDEPATH = /src/doip \ /src/doip/utils \ /src/doip/pduR \ /src/doip/uds1 ...
- CentOS 7编译安装php7.0.7以及可能遇到的问题的解决方案
https://blog.csdn.net/chenxiabinffff/article/details/51612149
- pache tomcat慢速HTTP拒绝服务攻击安全问题解决办法
问题说明:HTTP协议的设计要求服务器在处理之前完全接收到请求.如果HTTP请求未完成,或者传输速率非常低,则服务器将保持其资源占用等待剩余的数据.如果服务器占用的资源太多,则会造成拒绝服务. 漏洞危 ...
- maven+eclipse+jboss+oracle 12c+memcached+AngularJS
Maven 参考梁总的: Eclipse Java EE IDE for Web Developers集成的Maven 3 指向自己安装的 Maven Maven下载.安装和配置(二) 在本地配置ma ...
- Apache HTTP Server 与 Apache Tomcat 的区别
要明白他们之间的区别,我们首先需要明白HTTP协议.HTML页面.JSP.Servlet之间的区别和联系. HTTP协议是在TCP/IP协议之上的应用层协议,用以在客户端和服务器之间传递信息.一般传递 ...
- php 学习资料
http://blog.csdn.net/woshihaiyong168/article/details/52846205 --队列基本原理的认识
- RTP实时传输协议
RTP协议是包括一对协议:RTP和RTCP. RTP传输数据,RTCP传输控制信息. 一般基于UDP,RTP使用偶数端口,RTCP使用下一个奇数端口. 层次关系: APP -> RTP -> ...
- APS技术中的多目标规划问题
在进行APS(高级计划与排程)系统开发时,绝大多数情况下是需要考虑多目标的.但面对多目标问题进行规划求解时,我们往往极容易因处理方法不当,而影响输出结果,令结果与用户期望产生较大差别.事实上很多时候用 ...
- kettle无法更新数据库字段解决办法
刚开始使用kettle,遇到一个问题, 在编写一个转换流程时,如果所操作的表字段名发生了变化(例如表student中id变更问userid),但是在kettle中使用时仍然显示是id,如下图, 此时清 ...
- 2019春招——Vivo大数据开发工程师面经
Vvio总共就一轮技术面+一轮HR面,技术面总体而言,比较宽泛,比较看中基础,面试的全程没有涉及简历上的东西(都准备好跟他扯项目了,感觉是抽取的题库...)具体内容如下: 1.熟悉Hadoop哪些组件 ...