Weex本地调试方式

一、本地运行weex工程


  1. 执行启动命令
npm run dev

npm run serve

二、放置配置文件至weex服务根目录


  1. 利用madp资源管理平台获取到registry.jsoncentral.jsonrepo_main.json三个配置相关文件

  2. registry.json中的central_url字段数据变更为当前weex服务地址加central.json。利用cli工具1进行加密处理,编译生成registry.dat放置原生工程内使用

// registry.json文件内容示例
{
	//本机IP+端口号(port)+"central.json"
	"central_url":"http://192.168.2.5:1337/central.json",
	"securestore_alg":"aes256cfb",
	"securestore_key":"Q1NJSSBrZXkgZXhhbXBsZQ=="
    //如果有central_alg字段存在且设置为“aes256cfb”,则central.json需要cli工具加密处理成central.dat,同时central_url的地址也设置为访问对应dat文件。
    // 建议只保留上述三个参数,这样只需要把registry.json用cli工具处理成dat文件即可。
}

加密命令示例

1. //对应系统的可执行文件 compile(编译) registry/central --input 输入文件路径 --output 输出文件路径 --alg aes256cfb --key "Q1NJSSBrZXkgZXhhbXBsZQ=="

// 打包加密registry.json示例
.\bin\madp-cli-win64.exe compile registry --input src\registry.json --output dist\registry.dat --alg aes256cfb --key "Q1NJSSBrZXkgZXhhbXBsZQ=="

2. //对应系统的可执行文件 build repo --input 输入文件路径 --output 输出文件路径  --dir 静态资源输入目录 --dist 打包后静态资源输出目录 --alg aes256cfb --key "Q1NJSSBrZXkgZXhhbXBsZQ=="

// 打包repo.dat及前端静态资源
bin\madp-cli-win64.exe build repo --input src\repo_main.json --output dist\main\repo.dat --dir src\main --dist dist\main --alg aes256cfb --key "Q1NJSSBrZXkgZXhhbXBsZQ=="

解密命令示例(repo.dat/central.dat/registry.dat三者方式一样)

//对应系统的可执行文件 compile decompile --input 输入文件路径 --output 输出文件路径 --alg aes256cfb --key "Q1NJSSBrZXkgZXhhbXBsZQ=="
// 解密registry.dat示例
madp-cli-win64.exe compile decompile --input ./registry.dat --output ./registry.json --alg aes256cfb --key "Q1NJSSBrZXkgZXhhbXBsZQ=="

(1). 加解密方式(alg),秘钥(key)要保持一致。 (2). 是否需要将central.json和repo.json进行打包,要看其配置文件内配置。若registry.dat内的central地址寻dat文件,则central.json需打包加密;central.json内寻主仓库的地址为dat文件,则需要对应的将repo_main.json打包加密。

  1. 放置central.json文件到对应位置,并注意文件内repos字段的数据仓库路径,将主仓库url修改为"./repo_main.json"
"repos":
  {
    "main":
    {
      "name": "主仓库",
      "url": "./repo_main.json"
    }
  }

注意如果以central.json,repo_main.json的json格式运行,那么central.json文件内不要配置repo仓库的加密参数,否则会执行解密方法报错!

  1. 放置repo_main.json文件到对应位置,并注意文件内url字段对应根路径
"page_launcher": {
  "auth_check": null,
  "module": "weex",
  "name": "导航栏",
  "params": {
    "url": "../data/launcher.json",//注意这里的url路径及文件
    "x-fullscreen": "yes",
    "x-funcType": "0"
  },
  "path": "./weex/index.weex.js?Page=launcher"//这里的场景页面路径指向weex,则需要保证项目build输出也是weex
},

(1). 如果访问的是“../data/launcher.json”这种路径,则需要在weex项目根目录放置data文件夹,其中对应文件可从2.0后管的main仓库下的data内下载。

注:根据修改后配置文件放置文件对应层级目录关系如下

weex工程
|---package.json
|---central.json(central.dat)
|---repo_main.json(repo_main.dat)
|---dist(或weex,建议将weex工程build输出目录变更为和repo内配置场景使用一致,修改工程output为weex)
|---其他静态资源文件,如vx工程,放置层级遵循repo中的调用

三、客户端预览weex工程及H5工程


  1. 手机链接开发者工具,进入usb调试模式
  2. 使用指向本地地址的注册表registry.dat打出应用包
  3. 在weex工程利用webpack的watch实现实时打包(dist/weex)文件
  4. 手机重新进入应用即可获取最新资源

注解


  1. madp中将json文件进行资源加密(或不加密)处理成dat文件的一种工具。(下载) ↩︎