作家
登录

微信小程序架构分析 (下)

作者: 来源: 2017-06-09 13:47:09 阅读 我要评论

'text' 
  • }) 
  •  
  • function loadFile(p, throwErr = true) { 
  •   return new Promise((resolve, reject) => { 
  •     fs.stat(`./${p}`, (err, stats) => { 
  •       if (err) { 
  •         if (throwErr) return reject(new Error(`file ${p} not found`)) 
  •         // 文件不存在有可能是文件被删除,所以不克不及应用 reject 
  •         return resolve(''
  •       } 
  •       if (stats && stats.isFile()) { 
  •         // parer 函数调用 exec 敕令履行 wcsc 文件生成 wxml 对应的 javascript 代码 
  •         return parser(`${p}`).then(resolve, reject) 
  •       } else { 
  •         return resolve(''
  •       } 
  •     }) 
  •   }) 
  •  
    • 有了接口就可以请求接口,然后履行返回函数进行 diff apply:
    1. // curr 为当前的 VirtualDom 树 
    2. if (!curr) return 
    3. var xhr = new XMLHttpRequest() 
    4. xhr.onreadystatechange = function() { 
    5.   if (xhr.readyState === 4) { 
    6.     if (xhr.status === 200) { 
    7.       var text = xhr.responseText 
    8.       var func = new Function(text + '\n return $gwx("./' +__path__+ '.wxml")'
    9.       window.__generateFunc__ = func() 
    10.       var oldTree = curr 
    11.       // 获取当前 data 生成新的树 
    12.       var o = m(p.default.getData(), false), 
    13.       // 进行 diff apply 
    14.       a = oldTree.diff(o); 
    15.       a.apply(x); 
    16.       document.dispatchEvent(new CustomEvent("pageReRender", {})); 
    17.       console.info('Hot apply: ' + __path__ + '.wxml'
    18.     } 

        推荐阅读

        CIO半月刊第十二期|打造“智慧交通”,保障城市高效、安全、智能化运行

      【义务编辑:谢海平 TEL:(010)68476606】 >>>详细阅读


      本文标题:微信小程序架构分析 (下)

      地址:http://www.17bianji.com/lsqh/35676.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)