Angular开发小程序

  • 通过批改Angular实现应用Angular开发小程序
  • 本我的项目实现的目标很简略也很纯正,就是通知大家.框架无高下,应用的人,有高下

视频简介

  • https://www.bilibili.com/video/BV1wh411p7bB/

开发模板

  • https://github.com/wszgrcy/angular-miniprogram-template

批改内容

  • builder

    批改用于反对自定义构建
  • component 编译时

    通过提前解析取得模板与款式,转换为小程序所需的
  • 全局变量

    用来反对ngZoneAngular默认全局援用
  • platform

    通过实现自定义的 platform,给予小程序的启动上下文反对
  • renderFactory

    原渲染工厂反对的是 dom 渲染,然而小程序不须要
  • 主进口重建

    主进口事后加载相干依赖,为前面的 page 做筹备
  • 文件系统监听批改

    须要在预处理完结时,革除文件缓存

减少内容

  • 组件与页面的注册函数

    只有被注册,还会主动的查问依赖关系与生成
  • 相干生命周期的传递

    小程序自带的一些生命周期
  • 小程序相干 token.

    APP_TOKEN能够取得 App 实例
    COMPONENT_TOKEN,PAGE_TOKEN能够取得组件对应的小程序组件实例

已实现内容

  • 变更检测
  • Input,Output
  • 依赖注入
  • ng-content
  • ngIf,ngSwitch,ngFor

    对于其余指令及自定义指令,暂未实现
  • 小程序大部分性能

未实现

可实现的性能

  • http
  • 管道
  • 非结构型指令
  • 结构型指令的非援用传递或无限传递
  • 路由的局部实现

    路由是否实现次要看小程序的应用场景需不需要路由这个货色
  • 表单
  • 自定义组件

不可能实现的性能

  • 无限度的结构型指令

    除非模板运行动静按需加载

其余平台的反对

  • 目前性能尚未欠缺,不对多余的平台做反对
  • 目前仅反对微信小程序,然而将来重构欠缺后,会增加其余平台的小程序反对

筹备做的

component 的 template 重写

  • 之前是通过齐全重写实现的值绑定与更新,然而是因为有一个技术没法实现所以才采取点计划.
  • 目前曾经能够通过替换调用函数实现这个,所以从新 template
  • 重写后将会使管道,表单,非结构型指令的反对