微信web开发者工具

微信开发者工具是用node-webkit,基于node.js和chromium的应用程序实时运行环境开发的。界面功能用React编写,wxml、wxss经过编译生成html和css。

MINA(MINA IS NOT APP) 是在微信中开发小程序的框架。MINA提供了自己的视图层描述语言wxml和wxss,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统。同时小程序提供UI组件库和底层API,基于微信生态,目测只支持在微信上运行。

查看开发工具源代码

cd /Applications/wechatwebdevtools.app/Contents/Resources/app.nw

├── app

├── modified_modules

├── node_modules

└── package.json

cd /Applications/wechatwebdevtools.app/Contents/Resources/app.nw/app/dist

├── app.js

├── common

├── actions // 动作

├── stores // 数据层

├── components //组件

├── dispatcher // 派发器

├── config // 配置

├── contentscript

├── cssStr // react中使用css的封装

├── debugger

├── editor

├── extensions // chrome 开发者工具扩展

├── inject

├── lib // 第三方库

├── utils

└── weapp

查看package.json

{

"main":"app/html/index.html",

"name":"微信web开发者工具",

"appname":"wechatwebdevtools",

"version":"0.9.092300",

"window":{

"title":"微信web开发者工具 v0.9.092300",

"icon":"app/images/icon.png",

"toolbar":true,

"width":600,

"height":480,

"frame":true

},

"inject_js_start":"app/dist/inject/jweixindebug.js",

"inject_js_end":"app/dist/inject/devtools.js",

"chromium-args":"-ignore-certificate-errors -load-extension=/Applications/wechatwebdevtools.app/Contents/Resources/app.nw/app/dist/extensions/",

"node-remote":"http://*.appservice.open.weixin.qq.com/*",

"webview":{

"partitions":[

{

"name":"trusted",

"accessible_resources":[""]

},

{

"name":"devtools",

"accessible_resources":[""]

}

]

}

}

应用程序打开的是app/html/index.html,加载了../dist/app.js

跳转到ContainController.js

require("./lunch/lunch.js"), //登录

require("./Create/create.js"), //创建项目

require("./main.js"), //主界面

功能组件用的是react+flux,代码毕竟是压缩转换过的,prettify之后可以浏览看看

lib目录

第三方库

react+flux

webapp目录

├── appservice

├── commit

├── newquick //quick-start 的示例代码

├── onlinevendor

├── tpl //page 页面的模板

├── trans //wxml、wxss的转换方法

├── utils

├── vendor

└── weApp.js

weApp.js

调用trans替换,正则匹配对应的file是否存在,添加到tpl/appserviceTpl.js

commit

├── build.js

├── getallwxss.js

├── initAppConfig.js

├── initAppServiceJs.js

├── pack.js

├── unpack.js

└── upload.js //打包上传

build会调用trans的方法进行转换,

上传的配置stores/projectStores.js

projectStores.Setting.MaxCodeSize,限制上传大小为5M

trans

├── transManager.js

├── transConfigToPf.js

├── transWxmlToHtml.js

├── transWxmlToJs.js

└── transWxssToCss.js

1、transManager

require其他4个js,返回最后替换的结果getResponse

2、transConfigToPf

Pf 是指 pageFrame,2、transConfigToPf 替换或删除模板 tpl/pageFrameTpl.js 里面的注释

var __webviewId__;

3、transWxmlToHtml、transWxmlToJs、transWxssToCss判断page目录下是否存在对应的文件,存在就执行转换方法,transConfigToPf中用对应文件链接替换掉对应的注释标签。

转换wxml中的自定义tag为virtual_dom

转换wxss为css

其他

wx小程序只能在工具内调试,而且不支持热更

习惯了其他的编辑器,用着提供的工具并不好用(不能定义主题,快捷键…当然不用就是了)

微信开发者工具项目wap.php,微信web开发者工具相关推荐

  1. 视频教程-微信小程序项目-豆瓣评分-微信开发

    微信小程序项目-豆瓣评分 北京八维研修学院技术工程师,5年大型项目实战开发经验,3年授课经验. 孟宪杰 ¥68.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订 ...

  2. python开发小工具项目_给中级Python开发者的13个练手项目,适合你不?

    选自realpython 作者:Habeeb Shopeju 机器之心编译 参与:高璇 学习 Python 的基础知识是一种美妙的体验.但对于中级 Python 开发人员来说,很多项目要么过难,要么过 ...

  3. 微信web开发者工具使用

    最近微信开发者中心推出了微信web开发者工具,对于我们这些开发微信公众平台的非常实用,所以来安装起来用用. 第一步: 登录微信公众号平台 第二步: 进入开发者中心 第三步: 绑定开发者微信号 第四步: ...

  4. 微信开发(web开发者工具)

    web开发者工具,就是为帮助开发者更方便.更安全地开发和调试基于微信的网页,我们推出了 web 开发者工具.它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 PC 或者 ...

  5. 微信web开发者工具

    概述 为帮助开发者更方便.更安全地开发和调试基于微信的网页,我们推出了 web 开发者工具.它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 PC 或者 Mac 上进行开 ...

  6. 微信开发者导入微信小程序项目

    微信开发者导入微信小程序项目 1.下载微信开发者工具 (1)下载地址 (2)根据自己电脑环境下载相应版本的软件 2.安装微信开发者工具 3.双击开发者工具 4.点击加号,导入项目 5.点击目录,选择小 ...

  7. 为Web 开发者Bug 报告和跟踪工具

    软件开发生命周期中最重要的技能就是开发者如何快速和高效的跟踪代码中的错误并解决它们,这就是所谓的"调试". 这一过程最常发生在实现.测试和质量管控阶段.无论是一个小问题还是错误,w ...

  8. OAuth2:项目演示-模拟微信授权登录京东

    认证流程: 1.客户(京东)发送认证申请给资源所有者(用户的微信即要登录京东的微信) 2.资源所有者(用户的微信即要登录京东的微信)同意授权,返回一个code码给客户(京东) 3.客户(京东)拿到授权 ...

  9. 以前有个搜刮音乐_5种提取在线数据的最佳Web搜刮工具

    Web爬网工具是专门为从网站提取信息而开发的. 它们也被称为Web收集工具或Web数据提取工具. 这些工具对尝试从Internet 收集某种形式的数据的人很有用. Web Scraping是不需要重复 ...

最新文章

  1. LeetCode实战:合并两个有序链表
  2. Docker学习笔记 — Docker私有仓库搭建
  3. docker部署openvas
  4. 阿德:工作与发财之间的秘密
  5. c++中 结构体和类的区别
  6. 摇滚java游戏_java 集合类
  7. vux 修改 设置 主题 颜色
  8. 18、Cocos2dx 3.0游戏开发找小三之cocos2d-x,请问你是怎么调度的咩
  9. HDU 3081Marriage Match II(二分法+并检查集合+网络流量的最大流量)
  10. excel常用公式--数据清洗类
  11. OpenCV学习笔记(二十六)——小试SVM算法ml
  12. u-blox gps 串口驱动安装恢复解决方案
  13. 关于Hibernate ResultTransformer
  14. Keepalived之——*** WARNING - this build will not support IPVS with IPv6.解决方案
  15. 快速搭建去中心化视频分享平台peertube
  16. java pdf 判断横版、竖版
  17. android studio 编译Telegram源码
  18. java为PDF盖(签)电子签章--位置定位
  19. IC卡和ID卡以及两者的比较
  20. nnet3-chain-copy-egs用于chain模型输入数据

热门文章

  1. apache常见错误:VC运行库(找不到 VCRUNTIME140.dll)
  2. 如何利用熊猫课表软件快速制作一张课程表?
  3. IPhone 编程 XCode4.2 项目模板说明
  4. 微信小程序中new Date()转换时间格式时,IOS不兼容的问题
  5. 什么鬼?哈工大竟遭美国禁用「工科神器」MATLAB?!
  6. tar: Removing leading `/' from member names
  7. 微信彩蛋表情雨秘笈大全
  8. 热烈祝贺第二十九届奥林匹克运动会开幕
  9. Zookeeper超级用户
  10. 老版Visio如何画ER图???