当前位置:首页 > 技术分享

apicloud开发调试方法 nodejs [超低,超省内存占用] 兼容最新用友 you-cli

admin6年前 (2020-08-06)技术分享4202


apicloud 开发 + 模拟器 +浏览器 +其它


这些一开相当占用内存,让电脑不堪重负.于是我想到用命令行来实现调试


这样可以不开启apicloud软件进行调试了 命令行+ 模拟器 就可以调试了


准备


1.检出项目.可以用svn检出,也可以直接用apicloud软件检出的项目 并在模拟器安装好自定义loader


2.安装nodejs


下载地址:http://nodejs.cn/download/


下载完安装(windows 直接双击就可以了)


安装成功打开命令行工具(cmd)


安装成功后输入以下命令查看是否安装成功(查看版本)

npm -v

3.安装apicloud-cli 工具 (开源地址: Gitee 极速下载/apicloud-cli-)

npm install -g apicloud-cli

安装成功后输入以下命令查看是否安装成功(查看版本)

apicloud -v

4.打开项目目录 按住shift键 然后右击鼠标 找到 [在此处打开命令提示窗口]


5.启用wifi调试 [8686为端口号可以自行修改如8090,10915等] 成功后不要关闭窗口

apicloud wifiStart --port 8686

6.打开模拟器自定义loader 连接wifi  口号号为上一步写的端口号


7.同步调试(重复第4步重新打开个窗口然后执行命令)


wifi 增量更新:

apicloud wifiSync --project ./ --updateAll false --port 8686

  wifi 全量更新:

apicloud wifiSync --project ./ --updateAll true --port 8686

8.获取 wifi 调试日志(重复第4步重新打开个窗口然后执行命令)

apicloud wifiLog --port 8686

到此最基础的调试就能够完成了

其它相关说明

apicloud-cli 指令集

  ***************** APICloud 通用命令行开发工具 ***********************
 
  命令格式
 
  执行全局方法:
  apicloud 方法名 --参数名1 参数值2 --参数名2 参数值2
 
  执行项目相关的方法:
  apiclud run 方法名
 
  注意:
  1. 参数中的workspace,project和file,可以是相对路径或绝对路径
  2. 支持的应用模板有: default,bottom,home,slide
  3. 支持的页面模板有: page001,page002,page003,page004,page005,page006,page007,page008,page009,page010,page011,page012,page013,page014,page015,page016,page017,page018,page019,page020,page021,page022,page023,page024,page025,page026
  4. port 为wifi服务启动时的端口号
  5. 使用 apicloud run 执行项目相关的方法时,应先cd切换到项目根目录
  6. 项目相关的方法,仅在项目有效 polyfill 化以后,才有效
 
  // ============================================================
  全局命令示例
 
  显示版本号:
  apicloud version 或 apicloud -v 或 apicloud --version
 
  显示帮助信息:
  apicloud help
 
  启动 wifi 服务:
  apicloud wifiStart --port 8686
 
  停止 wifi 服务:
  apicloud wifiStop --port 8686
 
  wifi 增量更新:
  apicloud wifiSync --project ./ --updateAll false --port 8686
 
  wifi 全量更新:
  apicloud wifiSync --project ./ --updateAll true --port 8686
 
  wifi 预览:
  apicloud wifiPreview --file ./index.html --port 8686
 
  获取 wifi 信息:
  apicloud wifiInfo --port 8686
 
  获取 wifi 调试日志:
  apicloud wifiLog --port 8686
 
  创建应用模板:
  apicloud init --name HelloAPICloud --template home --workspace ./
 
  创建页面模板:
  apicloud initPage --name first_page --template page001 --project ./
 
  开启 es6 支持:
  apicloud polyfill --project ./
 
  // ============================================================
 
  项目相关方法示例
 
  wifi 增量真机同步:
  apicloud run sync
 
  预编译 es6/es7 js文件:
  apicloud run bundle
 
  预编译 es6/es7 js文件,然后进行wifi 增量真机同步:
  apicloud run bundle_s
 
  以debug模式,预编译 es6/es7 js文件,此时会产生对应的 *.map.js 文件,便于在浏览器中调试:
  apicloud run bundle_d
 
  以debug模式,预编译 es6/es7 js文件,然后进行wifi 增量真机同步:
  apicloud run bundle_d_s

注意

apicloud wifiStart 或 apicloud wifiLog 会持续输出操作日志或调试日志,此时无法继续进行输入,请在另一个终端/命令行窗口中继续进行操作;在真实的场景中,终端使用者,是可以通过特定指令使此指令后台执行,或重定向标准输出流.


兼容用友说明

由于apicloud-cli官方已经不在维护,迁移后用友官方做了一些调整,使得wifi同步功能无法使用;
(当然,yongbuild官方编辑器wifi同步功能仍然可用);
目前发现,主要问题是官方新创建的应用ID为A+19位数字,迁移前创建的项目为13位。
开启WiFi同步会报错:似乎不在有效的APICloud项目中
那么咱们只需要替换下次数判定即可:
apicloud-tools-core/lib/apicloud.js

我的路径(供参考):C:\Users\Administrator\AppData\Roaming\npm\node_modules\apicloud-cli\node_modules\apicloud-tools-core\lib

文件下载:

https://url07.ctfile.com/f/349707-1449999238-1433ca?p=5036(访问密码:5036)


https://xiaogg.118pan.com/b1165656 密码:842h (需登录)


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/17.html

分享给朋友:

“apicloud开发调试方法 nodejs [超低,超省内存占用] 兼容最新用友 you-cli” 的相关文章

节假日api 负载均衡升级 增加阿里云服务器

2024-8-19 vip服务器遭受攻击 现已经临时更换服务器以下是服务器的情况可根据自己的需求进行选择1.tool.bitefu.net 整合服务器到 新的阿里云服务器(配置更高),旧服务器已不再续费2.vip.bitefu.n…

thinkphp等框架开发中容易忽略的xss攻击及应对XSS攻击方法

thinkphp等框架开发中容易忽略的xss攻击及应对XSS攻击方法

虽然说现在的web开发框架都是挺成熟的框架,在性能、安全等方面都有比较好的表现,但问题往往出现在业务逻辑上,如上周我再公司发现的一个跨站脚本攻击,(通常公司是这么过滤的,max(0,$_GET[‘a’])、strip_tags($_GET[…

input search更改默认删除按钮的样式

改input输入框search属性下输入文字之后会在输入框最后出现一个默认样式的X不过这个样式不太好看想自定义怎么办呢方法一input[type="search"]::-webkit-search-cancel-butt…

解决 SVN Skipped 'xxx' -- Node remains in conflict

更新命令:svn up提示代码:意思就是说 ,这个文件冲突了,你要解决下Updating '.': Skipped 'data/config.php' -- …

PHP和Redis实现在高并发下的抢购及秒杀功能

抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题:一、高并发对数据库产生的压力二、竞争状态下如何解决库存的正确减少("…

Nginx服务崩溃自动重启脚本(监控进程服务并自动重启进程服务)脚本

有一台服务器运行着Ngin最近突然有一次崩溃,导致使用方当天无法访问网页端,然后我不得不登录服务器,检查各项服务,发现nginx崩溃了,于是重启Nginx,问题解决。后来为了防止Nginx再发生这种情况给运维带来的运维成本,于是写了一个脚本…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。