zhoushushu
V2EX  ›  Angular

借着 vue 和 react 的思路,跟着 b 站视频学了三天 angluar11 后,我来吐吐槽。。。

  •  
  •   zhoushushu · Mar 9, 2021 · 18365 views
    This topic created in 2065 days ago, the information mentioned may be changed or developed.

    才学三天,也不知道说的对不对

    • 模板语法好学,毕竟 vue 是借鉴 angular 的;
    • 分 module 思路也能理解,但是一分模块,组件的文件、路由的文件等都得往里面加,这个不是加大工作量嘛? Vue 、React 也不需要一个专门的文件来维护啊。
    • 网络请求模块能不能用 axios 等第三方网络请求库,这个 rxjs 实在学不下去,用 axios,aysnc 、await 不更简单?
    • 注入这块,我都 import 进来了,还得在 provide 里面注入,麻烦死了;
    • 还有令牌这块,我直接写个常量,import 进来,不更简单?
    • 4 和 5 其实是同一个问题,import 进来了,还得写一些其他代码才可以使用,直接用不行啊?
    • 编译太慢,也不知道什么代码编辑器适合 angular 开发,反正 vscode 经常卡死,不过我电脑也挺老的了

    将来我我来用 angular 开发的话,估计思路的话,不会像 angular 传统项目那样各种注入,应该还是和 vue 、react 差不多吧,angular 自带的库不用,各种第三方请求库,import 、export,能不注入就不注入了,维护下 module 就好。

    120 replies  •  2021-04-06 14:29:33 +08:00
    1  2  
    ❮ ❯
    erwin985211
    erwin985211
    Mar 9, 2021❤️1
    1
    垃圾前端表示,用 angluar 是我离职的第一原因。我用的是 angluar6
    Perry
    Perry
    Mar 9, 2021 via iPhone❤️18
    2
    简单概述一下:我不会用的或者学不会的东西就是难用的东西
    ychost
    ychost
    Mar 9, 2021❤️1
    3
    等两年后再看你的代码,看看那种写的还能一眼看懂,好维护,
    zhuweiyou
    zhuweiyou
    Mar 9, 2021❤️1
    4
    vue react 也有注入功能
    debuggerx
    debuggerx
    Mar 9, 2021❤️4
    5
    个人开发和工程项目开发的区别。个人开发怎么方便怎么快怎么来,但是多人大项目一直迭代,很多“简单”、“减少工作量”的做法直接会导致项目失控,被这样坑过的人才能真正理解“学院派框架”的优点。
    如果看一些资深架构设计的或者大公司的 vue/react 项目,其实很多也早已经变成了“麻烦”的样子。
    Oktfolio
    Oktfolio
    Mar 9, 2021
    6
    rx 和 IOC DI 不就是 Angular 的核心吗?
    tiedan
    tiedan
    Mar 9, 2021❤️11
    7
    又开始了
    zhoushushu
    zhoushushu
    OP
    Mar 9, 2021
    8
    @debuggerx 说的对的,公司现在的 vue 、react 项目确实失控了,也需要“学院派框架”来治理一下了。
    Oktfolio
    Oktfolio
    Mar 9, 2021
    9
    没逼你用 httpclient,用 fetch 应该也可以,axios 就算了吧。Observable 比 Promise 强大多了。
    cslive
    cslive
    Mar 9, 2021
    10
    angluar 还好吧,适合后端学,特别是搞 java 得,上手特别快
    zjsxwc
    zjsxwc
    Mar 9, 2021
    11
    虽然我不是前端,但三个都用过的我,从工程性考虑,我站 angular
    zhoushushu
    zhoushushu
    OP
    Mar 9, 2021
    12
    @Perry 不大容易能找到最近 10 或者 11 的学习资料,官网文档?就一个小练习,没有工程上的案例。
    erwin985211
    erwin985211
    Mar 9, 2021❤️3
    13
    只要 angular 的帖子,必有我是后端,我挺喜欢 angular 的。想听听前端大佬对 angular 的看法,为啥 angular 这么边缘
    ecuplxd
    ecuplxd
    Mar 9, 2021
    14
    其它不说,但 VS Code 是最适合做 Angular 开发的。
    yaphets666
    yaphets666
    Mar 9, 2021
    15
    你这几条无非是开发效率问题.为啥 react 和 ag 在国内干不过 vue,主要是开发效率不行.
    react 和 ag 在发达国家是很流行的,我观察了很多加拿大,美国的招聘信息,基本没有用 vue 的.
    zzzmh
    zzzmh
    Mar 9, 2021❤️2
    16
    java 出身的 前端小白 表示 ,看的一愣一愣的,学 vue 学了一年,以为自己会写了,后来发现没学 vue cli,就等于不会,又学了 1 年 vue cli 。至今还迷迷糊糊 模棱两可
    Austaras
    Austaras
    Mar 9, 2021
    17
    连 DI 是干什么的都不知道,这就是当代前端吗
    Austaras
    Austaras
    Mar 9, 2021
    18
    不过 module 确实不太有用,似乎官方也在淡化这个东西
    mlxj
    mlxj
    Mar 9, 2021
    19
    路子走偏了啊,B 站是用来学习这个的?
    zhoushushu
    zhoushushu
    OP
    Mar 9, 2021
    20
    @mlxj 其他地方就没有找到,上面各个都说好,也不知道他们在哪里学的。
    crclz
    crclz
    Mar 9, 2021
    21
    哈哈哈,除了最后一点,其他的自己去领悟。

    某个框架的某些特性看似设计垃圾,当你明白了为什么要这么设计的时候,就证明你代码能力提升了。
    amundsen
    amundsen
    Mar 9, 2021
    22
    三个框架都用过,比较喜欢 angular 。
    Desiree
    Desiree
    Mar 9, 2021
    23
    学了三天...
    shakaraka
    shakaraka
    Mar 9, 2021
    24
    官网文档不看去 B 站。。。66666
    zhoushushu
    zhoushushu
    OP
    Mar 9, 2021
    25
    @wunonglin 官网有项目案例?
    shakaraka
    shakaraka
    Mar 9, 2021
    26
    @zhoushushu #25 你要啥案例? github 上大把
    codeMan5495
    codeMan5495
    Mar 9, 2021
    27
    angular 也许就是过滤这种的
    zhoushushu
    zhoushushu
    OP
    Mar 9, 2021
    28
    @codeMan5495 哎呀,这话讲的。。。就是一个框架嘛,工作嘛,开心点不好啊。
    kingzeus
    kingzeus
    Mar 9, 2021
    29
    我感觉复杂的业务逻辑全靠 rxjs 了。
    April5
    April5
    Mar 9, 2021
    30
    先了解下 IOC
    KuroNekoFan
    KuroNekoFan
    Mar 9, 2021 via iPhone
    31
    axios 的 interceptor 的理念真的荼毒甚广……
    youngxhui
    youngxhui
    Mar 9, 2021 via Android
    32
    @zhoushushu 官网的确有案例
    GiantHard
    GiantHard
    Mar 9, 2021❤️1
    33
    我感觉楼主的疑惑主要在两点:

    1. 为什么要“控制反转”?答案很简单,为了避免代码耦合。
    2. promise 非常方便,为啥还要 rxjs ? promise 确实方便,但是功能过于简单,没法为 Angular 应用提供状态管理的能力。
    lvsshuttao
    lvsshuttao
    Mar 9, 2021
    34
    分模块可以懒加载,公共的服务 /组件都可以组合成一个模块

    rxjs 和 axios 感觉都 OK,rxjs 可以对结果进行二次加工处理,特别是在 后端 /服务商 返回不同的数据格式时特有用

    注入这块还有令牌这块,最方便的地方就是随意替换,比如共享模块 A 里面有一个服务 B,注入了 C ;
    当 AA1 模块使用到 A 模块时,你可以把 A 模块中的 C 替换为 aa1 ;
    当 BB1 模块使用到 B 模块时,你可以把 A 模块中的 C 替换成 bb1;
    再配合那个 env... 配置文件,你想切换测试 /生产服务器、切换不同版本的 api 是很简单的
    nzbin
    nzbin
    Mar 9, 2021
    35
    @zhoushushu 不用刻意找 10 或者 11 的资料,2 以上都是一样的。官网就是最好的资料,进阶的话就看 indepth 和 medium 上面的文章,知乎上面也有一些翻译。
    lewinlan
    lewinlan
    Mar 9, 2021 via Android
    36
    讲规矩才上得了规模
    hantsy
    hantsy
    Mar 9, 2021
    37
    正常,很多学 Angular 都是止步于 Typescript 和 Rxjs 。
    hantsy
    hantsy
    Mar 9, 2021
    38
    rxjs 和 axios 根本就不是一个类型东西都是能扯到一起比较。

    Angular 中有 HttpClient, HttpIntercepter 实现 API 调用,安全不要太简单啊.
    hantsy
    hantsy
    Mar 9, 2021
    39
    劝楼主去用 Vue 。我估计你 React 也用不来。
    nzbin
    nzbin
    Mar 9, 2021
    40
    楼主,你这吐槽真的是完全没搞明白啊,简单答一下吧

    1. angular 的模板很强大的,循环递归复用非常方便,而且有 language service 的加持,代码提示很友好
    2. 模块拆分非常适合大型项目,至于你说的要加很多文件,难道不用 cli 的自动化吗?觉得不够用的话还可以自己扩展 schematics,这一点 react 和 vue 真比不了
    3. httpClient 和 axios 不是一个体量的东西,你只是不熟悉而已,至于 RxJS,稍微复杂点的请求处理立马就能感受到它的优势,而且同样可以搭配 aysnc 、await
    4. 依赖注入就不说了,多用用自然明白
    5. 编译太慢?反正我是从没遇到这个问题,vscode 开发非常舒服
    Adalwin
    Adalwin
    Mar 9, 2021
    41
    不看官网看 B 站....

    唉...
    easylee
    easylee
    Mar 9, 2021 via Android
    42
    @zzzmh 写了两年 Java,才发现没学 spring......
    xiang0818
    xiang0818
    Mar 9, 2021
    43
    后端的同学都比较喜欢 ng 哦~
    xiang0818
    xiang0818
    Mar 9, 2021
    44
    @easylee 那你一定是大佬~
    LokiSharp
    LokiSharp
    Mar 10, 2021 via iPhone
    45
    Angular Spring .NET 这类真企业级框架麻烦的地方都是大公司开发踩了 10 几年总结的经验,几天跑理解不了的
    laike9m
    laike9m
    Mar 10, 2021 via Android
    46
    angular 就是给 Java 程序员设计的
    yuuko
    yuuko
    Mar 10, 2021 via Android
    47
    等你用 angular 写项目了,真正的问题就来了,编译十几二十分钟,热更新烂的一逼,运存占用巨大,电脑卡顿等等
    kwrush
    kwrush
    Mar 10, 2021
    48
    rxjs 很强大,和 axios 都不是一路东西,刚好自带 ajax 而已
    jun4rui
    jun4rui
    Mar 10, 2021
    49
    一个框架就是一个思路,所以任何框架都不能用别的框架思维去套,顶多有点类似的地方。

    所以新人学东西有时候比较快就是这个原因,没有任何先入为主的固有思维。

    这种思维年纪大了会比较致命。
    hareandlion
    hareandlion
    Mar 10, 2021
    50
    同在学 Angular,感觉框架设计代表的是设计模式,额外的声明可以认为是编码规范吧,module 设计与逻辑抽象的实现有关,可能不同框架的实现方式都不同,没看出高下之分
    ReysC
    ReysC
    Mar 10, 2021
    51
    网络库可以用 await/async 使用 toPromise 即可,提供了灵活的方式
    lscexpress
    lscexpress
    Mar 10, 2021
    52
    @jun4rui
    反正我学新技术,都是先看官方文档,不会想太多
    ahonn
    ahonn
    Mar 10, 2021
    53
    想要简单你就不应该看 Angular
    meshell
    meshell
    Mar 10, 2021
    54
    https://github.com/akveo/ngx-admin , https://github.com/akveo/nebular 我一直通过这两个项目来学习 ng...不过先要知道 ng 的基本知识概念,官方文档走一遍.
    namelosw
    namelosw
    Mar 10, 2021❤️4
    55
    React 和 Angular 和 AngularJS 我都用过好多年, 而且 Angular 2 出来之前我就已经很熟 Rx 和 TS 了, 简单结论: 别学别用 Angular.

    Angular 扩展性可维护性其实都不如 React/Vue, 而且复杂得一批, 细节还特别坑, 很多互相矛盾的地方. 每个地方技术实现上看都可以, 拼起来就是个渣, 给人一种“没有产品经理”, 想起来啥就做啥的感觉.

    说 Angular 好的基本就是几种:
    1. 后端不懂前端, 觉得看着熟悉.
    2. 熟悉 React 和 Vue, 但不那么熟悉 Angular, 别人家的草更绿.
    3. 只熟悉 Angular, 所以互相没比较.
    4. 做的东西太简单, 用 Angular 还没撞墙.

    总得来说 Angular 给人的感觉就是不咋懂前端的问题:
    1. 鼓励 MVVM 把状态分散到组件, 不像 React 那样鼓励 Hoisting. 你必须玩命给同事洗脑要 Hoisting, 要用状态管理, 不然写着写着状态就分散到全世界, 到处都不同步.
    2. 更新也是个大坑, 用 push only 满地都是 markForCheck. 导致写库和写业务代码完全不一样, 导致 Angular 用户大部分都不会写库, 有种重新发明了手动挡…吧 JS 改造成 C++的感觉.
    3. 不用 push only 的时候还是 AngularJS 那一套, 靠 Zone 排队, 问题是即便这样很多地方还是要手动 runInZone, 这个问题根本无解, 特别容易造成隐性 bug, 跟 React/Vue 比一开始设计思路根本就是错的.
    4. 扩展性, 抽象性好嘛? 还不是被高阶组件, hooks, render callback 吊打. OO 在这方面只能说菜得抠脚, 而且<ng-container> <ng-template> <ng-content>不仅迷惑, 而且加起来也被 props.children 吊打.

    Angular 也不是一无是处, 偶尔有点闪光点:
    1. Reactive form, 和 UI 解耦的 form, React 和 Vue 明显也可以做, 但是不知道为啥大家都不用.
    2. Async pipe, 既然发明了 template 引擎, 就得好一点…
    3. AOT? AOT 也不能算闪光点, 因为前面的屎山堆太多, 编译起来太大了, 只能用这种高级操作挽回一点点. 而且跟 Svelte 比就是弟弟.
    Stevearzh
    Stevearzh
    Mar 10, 2021
    56
    rxjs 怎么成网络请求模块了... 你要比也得和 redux 或者 vuex 比啊
    quan01994
    quan01994
    Mar 10, 2021
    57
    rxjs 很好。
    TomatoYuyuko
    TomatoYuyuko
    Mar 10, 2021
    58
    工具而已,不喜欢用,那就是不好用的工具
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Mar 10, 2021 via Android
    59
    @namelosw
    +1,不是 spring 程序员完全没必要学
    Mrxx
    Mrxx
    Mar 10, 2021❤️1
    60
    怀念那个 jQuery 的时代
    ccsulzf0627
    ccsulzf0627
    Mar 10, 2021
    61
    @yuuko 换台好电脑吧,离谱,十几分钟都来了
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Mar 10, 2021
    62
    https://www.zhihu.com/question/27053548
    根据知乎上几个高赞回答,spring 里依赖注入的原因一部分和 java 本身有关,一部分是方便测试
    而 js 本身没有 java 那部分的限制,有 vdom 时也已经就可以做单元测试了
    ccsulzf0627
    ccsulzf0627
    Mar 10, 2021
    63
    @Mrxx 我现在就在写 jQuery
    Mrxx
    Mrxx
    Mar 10, 2021
    64
    以前做个项目,咔咔咔,几个小时上线了
    现在做个项目
    npm install
    composer install
    ....
    几天过去了,环境还没搭好
    干!
    xcstream
    xcstream
    Mar 10, 2021
    65
    开发效率高,快速做完了,老板布置新任务。
    开发门槛高,别人难以替代你。
    charlie21
    charlie21
    Mar 10, 2021
    66
    框架复杂有复杂的好处,它可以劝退一批人,剩下的不会被 35 岁淘汰嘛 大家其乐融融
    FLUX 模式和 MVVM 模式不过是 2 种设计模式而已(写 GUI 还有很多种设计模式,理解设计模式才能理解模块划分),当然都可以用来写 GUI 啊,FP 和 OO 又是天生的井水不犯河水,我只看到了前端圈的繁荣
    前端圈自己就一副很看不起前端圈的样子我也是没想到的
    bojue
    bojue
    Mar 10, 2021 via iPhone
    67
    先入为主的开发习惯,导致你说的几个点都说不到点上,框架不是为了简单,而是在开发效率,维护和性能做了一个平衡,当年开发 vue 的还喷 ng 的 ts 需要额外投入的,差不多的团队,团队开发中入门级的前端在框架的选择上没有任何话语权,别给自己加戏包括我自己
    Austaras
    Austaras
    Mar 10, 2021
    68
    @namelosw
    1. state hoisting 本来就是不好的
    2. ivy 和 svelte 的 aot 本来就差不多
    少半瓶水晃荡了
    namelosw
    namelosw
    Mar 10, 2021
    69
    @Austaras
    1. 没 hoisting 更不好
    2. Svelte 的 AoT 是解决前端问题, Angular AoT 是为了解决自己凭空创造的问题
    半瓶水彼此彼此
    bojue
    bojue
    Mar 10, 2021
    70
    @namelosw 学了这么久这么多还把吊打挂在嘴上,tob 表单类项目为什么不能用 angular,你说的坑具体什么坑,一千多个组件的项目任何框架开发起来都多少出点问题,就看谁先挂
    nzbin
    nzbin
    Mar 10, 2021❤️1
    71
    @namelosw 你这确实有点强答了。。。感觉谷歌的工程师都没你牛🙄
    Austaras
    Austaras
    Mar 10, 2021
    72
    @namelosw 只有有需要 hoist 的才 hoist,没需要的不共享给别人才是对的,你只不过是把别人偶然犯的错误当作框架的缺陷而已。至于什么“凭空创造”“”前端问题”之类的大词,一看就是纯装逼,在知乎之类的地方讲讲么拉倒了,不要以为能在 V2EX 忽悠到人
    hoyixi
    hoyixi
    Mar 10, 2021
    73
    其实是风格问题。 以前说过,G 家的工程师脑回路总感觉和大多人是不一样的, 以前用 G 家产品的 API,从 API 设计,以及通过 API 猜测 G 家产品背后的数据库之类字段设计,都感觉脑回路比较奇特~

    这也没什么,毕竟每个人每个公司都有自己的风格。

    但是,但是,你如果把东西给别人用,那就是另一码事了,虽然开发者这个群体比较特殊,但是也算 G 家的“用户”,总得考虑下用户体验和感受吧~

    这点 Apple 就好多了,API, 工具,文档,都舒服多了。
    namelosw
    namelosw
    Mar 10, 2021
    74
    @bojue
    主要的坑就是满屏幕 MarkForCheck
    如果不 MarkForCheck 一方面性能不太好, 另外一方面老得提防 runInZone. 即使自己记得住, 同事肯定也老忘.
    然后没有 React props.children 和 Vue 的<slot/>好用
    namelosw
    namelosw
    Mar 10, 2021
    75
    @Austaras 一个 hoist 的 codebase 下发比不 hoist 的 codebase 上提容易得多. 后者就是没救.
    namelosw
    namelosw
    Mar 10, 2021
    76
    @nzbin 这不是技术牛不牛的东西, 是设计问题, Google Cemetery 了解一下?
    namelosw
    namelosw
    Mar 10, 2021
    77
    @Austaras > 至于什么“凭空创造”“”前端问题”之类的大词,一看就是纯装逼
    所以人家几十 K 就挺好的框架为啥要几百 K 解决? 不是凭空创造是什么?

    我 Ng 和 React 的项目都是同期开发的几十万行项目, 我分享的都是实际经验.

    你啥 insight 也不提供直接就说我装逼.

    反正谁踩坑谁难受.
    bojue
    bojue
    Mar 10, 2021
    78
    @namelosw 不错不错,这起码是石锤,如果是这样的话应该是对性能有要求,可以集成 React 开发一些业务页面
    Austaras
    Austaras
    Mar 10, 2021
    79
    @namelosw  醒醒,开了 ivy 之后也能做到 100k 以内,何况你这个问题不如去问问 react 为什么体积要膨胀到 100k 以上。你在这里空谈几十万行 code 一点意义都没有,GUI 是最容易堆砌互相之间没有关联的垃圾代码的地方
    Austaras
    Austaras
    Mar 10, 2021
    80
    @namelosw 你不要把你不会上提说成框架的问题,ng 里拆到单独的 service 非常容易,如果只要在组件里分享可以直接写在组件的 providers 里,而且性能要比对应的 react context 好很多
    Austaras
    Austaras
    Mar 10, 2021
    81
    @namelosw 我不提供 insight,起码没有拿技术名词(甚至都不是)来误导人,产出起码是正的
    Austaras
    Austaras
    Mar 10, 2021
    82
    @namelosw 剩下几条也反驳一下
    2. 没人逼你用 push only,实际上只有极为特殊的情况或者像 antd 那样的组件库才需要用到,你给自己找麻烦非要怪 angular ?
    3. 结合前一点,估计又是你瞎配置才需要 zone.run ,
    4. 模版的表达能力的确有所欠缺,但是 angular 的模版已经是表达力最强的,而且你说的 slot 这套不是在 webcomponent 和 vue 里也有吗?不要把自己学不会的东西叫迷惑。而且这和 OO 一点关系都没有,我怀疑你都没有自己写过指令
    wszgrcy
    wszgrcy
    Mar 10, 2021 via Android
    83
    ng 大本营?
    nzbin
    nzbin
    Mar 10, 2021
    84
    @bojue 别被误导,我们几十万代码的项目也没这些事,看看 angular 官网和 react 官网的性能比较一目了然
    namelosw
    namelosw
    Mar 10, 2021
    85
    @Austaras
    > 开了 ivy 之后也能做到 100k 以内
    这不是消灭凭空创造的问题是啥?

    > ng 里拆到单独的 service 非常容易
    人家 React 和 Vue 上提的都是 reactive, ng service 就是个普通对象, 写个 getter 当 computed 都 loop 的飞起, 最后还得额外找个状态管理方案, 要不满屏幕 Rx 花式 map.

    > 没人逼你用 push only
    问题就在这, 为啥库和正常代码不能一样? 写代码学一套, 写库又学一套, 厉害厉害.

    > 我怀疑你都没有自己写过指令
    我连 ng1 的 parser 都写过好几年了, 我不写 directive 不写组件库我能知道 push only?

    > slot 这套不是在 webcomponent 和 vue 里也有吗?
    就是 webcomponent 和 vue 阿, 而且 React 没有. 你不是没用过 React 吧.
    Lemeng
    Lemeng
    Mar 10, 2021
    86
    上的少,看来 b 站真是什么都有啊
    yuuko
    yuuko
    Mar 10, 2021
    87
    @ccsulzf0627 我不知道你说的离谱是什么意思?还是说你们项目小?我们项目开启 es5 支持+es6 module+ssr,编译内存占用直接超出 nodejs 默认可使用内存大小,必须手动设置 max_old_space_size 可用最大内存,整套编译下来 20 多分钟,编译过程整个电脑都卡了 (Macbook pro 13 16G 内存 17 版),整个项目经历 angular5 一路升级到 9

    你可以看看官方 issue 有多少人有这个问题 https://github.com/angular/angular-cli/issues/13734
    Solael
    Solael
    Mar 10, 2021
    88
    @namelosw zone 和状态管理确实是坑。rxjs 的状态管理虽然简洁但是不够用,所以很多项目做到中间要上 redux
    Austaras
    Austaras
    Mar 10, 2021
    89
    @namelosw
    > 这不是消灭凭空创造的问题是啥
    复杂的 svelte 程序也会带上大几十 kb 的 runtime,而且照你这么说带 runtime 的框架都是凭空创造问题?

    > 人家 React 和 Vue 上提的都是 reactive,
    噗,react 里哪有 reactive 的东西?你梦里

    > 要不满屏幕 Rx 花式 map
    不然呢,这不就是学不会 rx 喷 angular 么

    > 写个 getter 当 computed 都 loop 的飞起
    这种不是你自己的问题,这都能 loop 你写 hook 还不是原地爆炸?而且你可以用 ngrx 啊

    > 问题就在这, 为啥库和正常代码不能一样? 写代码学一套, 写库又学一套, 厉害厉害.
    因为团队哲学不一样。react 团队的确是不鼓励要提供高级 api 解决复杂的问题,angular 团队不一样啊,这也没有哪家一定是对的

    > 我连 ng1 的 parser
    这和 ng2 有一毛钱关系吗?你报菜名都只会报 angularjs 的?顺带你前面说的为什么没有 reactive form,那是因为 ng 先抽象了一套 NGValueAccessor,别的框架你想想要怎么办

    > 你不是没用过 React 吧.
    那我一开始就说了,这是模版和 jsx 的区别,两者互有优劣,你单举 jsx 的优势讲有什么意思,我还想说 angular 里随便搞搞指令就可以写复杂的表单验证暴打 jsx 呢,有意思吗?而且事实证明业界选择模版的框架并不少,何况 angular 里你非要搞 HOC 也是做得到的
    Austaras
    Austaras
    Mar 10, 2021
    90
    @yuuko 对自己好一点,搞个 CI CD 管线吧
    Austaras
    Austaras
    Mar 10, 2021
    91
    算了没什么好争的,现存的流行前端技术都是互有优劣的,强行只看好处和只看坏处都不可取
    nzbin
    nzbin
    Mar 10, 2021
    92
    @Austaras 有些人对 Angular 有种天生的偏见,怎么说都没用的
    yuuko
    yuuko
    Mar 10, 2021 via Android
    93
    @Austaras 我们已经 ci 自动打包了,但是发个版要 20 分钟也是难受,开始向 react 迁移了
    yuuko
    yuuko
    Mar 10, 2021
    94
    我再来吐槽下,现在 angular11 都出来了,按理说 angular9 的生态应该很稳定了,于是我们决定从 8 升到 9,结果升级完发现 jit 热更新是炸的,只有 aot 模式的热更新能用,我真的是满头问号,按我们项目的规模,aot 模式热更新最少需要等待十几秒。。。

    相关 issue https://github.com/angular/angular/issues/35265
    KuroNekoFan
    KuroNekoFan
    Mar 10, 2021
    95
    @namelosw #55 虽然现在很多人写 react 都一堆模板代码,但是现在比较推崇的实践难道不是不必 hoist 的就不 hoist ?
    WillBC
    WillBC
    Mar 10, 2021
    96
    开炮开炮!
    Austaras
    Austaras
    Mar 10, 2021
    97
    @yuuko 我是觉得 20 分钟发版没什么啦...不是正好摸鱼么, 不过你要是觉得时间长可以试着把 build-optimizer 关掉, 能快很多
    Austaras
    Austaras
    Mar 10, 2021
    98
    热更新倒是真的很垃圾, 不过这个东西本来就很难做, react 那边也一堆问题, 我最近也在研究这个
    namelosw
    namelosw
    Mar 10, 2021
    99
    @KuroNekoFan 对, 不过这个是对 hoisting 党说的. 再往前是从来不 hoisting 党.

    考虑历史进程应该是不 hoisting < hoisting < 合理 hoisting.

    单向的问题容易是 hoisting 太多, MVVM 的问题是容易 hoisting 太少. hoisting 太多的副作用比 hoisting 太少小一点.
    pigspy
    pigspy
    Mar 10, 2021
    100
    react 和 angular 都挺好的,vue 才是学不下去
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4946 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 147ms · UTC 09:15 · PVG 17:15 · LAX 01:15 · JFK 04:15
    ♥ Do have faith in what you're doing.