V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wszgrcy
V2EX  ›  Angular

Angular 开发小程序

  •  
  •   wszgrcy · 2021-09-11 00:02:08 +08:00 · 2618 次点击
    这是一个创建于 930 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Angular开发小程序

    • 通过修改Angular实现使用Angular开发小程序
    • 本项目实现的目的很简单也很纯粹,就是告诉大家.框架无高低,使用的人,有高低

    视频简介

    开发模板

    修改内容

    • 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
    • 重写后将会使管道,表单,非结构型指令的支持
    6 条回复    2022-03-29 21:55:27 +08:00
    houzhenhong
        1
    houzhenhong  
       2021-09-11 00:41:59 +08:00 via iPhone
    厉害,比想象的完成度高,加油!希望能继续完善。
    beyondex
        2
    beyondex  
       2021-09-11 01:02:44 +08:00
    牛逼,之前从你的 GitHUb 主页上看到过这个项目,持续关注。
    beginor
        3
    beginor  
       2021-09-11 08:00:38 +08:00 via Android
    这个厉害,ng 终于可以开发小程序了!
    nzbin
        4
    nzbin  
       2021-09-11 09:52:43 +08:00
    star 支持,期待项目更加完善
    Trinity888
        5
    Trinity888  
       2022-03-29 20:05:23 +08:00
    你好 @wszgrcy 我这边有个 Angular 组件项目,您有时间参与吗?
    wszgrcy
        6
    wszgrcy  
    OP
       2022-03-29 21:55:27 +08:00
    @Trinity888 是做什么的? 可以 MTMwMTI5NTMxMjE=联系,我看看是否感兴趣
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1046 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:08 · PVG 03:08 · LAX 12:08 · JFK 15:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.