V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
maymay5
V2EX  ›  .NET

我想重构我这个项目的前端,有什么好的建议?

  •  
  •   maymay5 · Jun 6, 2024 · 6537 views
    This topic created in 692 days ago, the information mentioned may be changed or developed.

    项目地址: https://github.com/MayDay-wpf/AIBotPublic

    当前用的技术栈

    • .net6
    • sqlserver
    • bootstrap4

    整理了我的代码后发现,我虽然用了 MVC 但是 view 这一层我完全没有使用 razor ,而是用 jquery 纯手搓 dom 字符串,这也许对于重构前端会有一定帮助

    但是现在有点选择困难,前端框架太多了,我既想轻量,又想组件丰富,还想拓展能力强,各位大佬们有什么建议?

    56 replies    2024-10-02 20:26:42 +08:00
    HaroldFinchNYC
        1
    HaroldFinchNYC  
       Jun 6, 2024   ❤️ 3
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 react
    wujianhua22
        2
    wujianhua22  
       Jun 6, 2024   ❤️ 1
    我们一般重构是有以下几方面的考虑:
    1 、性能问题,积重难返无法提高。
    2 、产品交互逻辑或者功能模块需要重换风格。
    3 、老板要改。
    yiranyibaozha
        3
    yiranyibaozha  
       Jun 6, 2024   ❤️ 3
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 vue
    xuanbg
        4
    xuanbg  
       Jun 6, 2024
    我们重构一般就是我实在做不下去/看不下去了……
    yunlongV
        5
    yunlongV  
       Jun 6, 2024   ❤️ 1
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 vue 或者 react
    lancelock
        6
    lancelock  
       Jun 6, 2024
    前端框架虽多,但不一定适配你这种项目结构
    carity
        7
    carity  
       Jun 6, 2024   ❤️ 3
    作为一个资深.NET ,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 Angular 或者 React ,以.NET 后端角度出发 Angular 更容易上手
    taozhiw
        8
    taozhiw  
       Jun 6, 2024
    如果不想重构整个项目,只是想引入一个库,用比 jQuery 更优雅的方式来继续糊代码,可以使用下面的库:

    https://github.com/preactjs/preact
    https://github.com/vuejs/petite-vue

    侵入性很小,想改哪里就改哪里
    jenhe
        9
    jenhe  
       Jun 6, 2024   ❤️ 1
    作为一个菜鸡前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 angular
    zzzlight
        10
    zzzlight  
       Jun 6, 2024
    作为一个兼职前端,我的意见如下:

    1. 又不是不能用
    shakaraka
        11
    shakaraka  
    PRO
       Jun 6, 2024
    作为一个 7 年全栈,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 angular v18+
    jwj
        12
    jwj  
       Jun 6, 2024
    建议不要重构
    luzemin
        13
    luzemin  
       Jun 6, 2024   ❤️ 1
    作为一个坐在前端对面的后端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议再读一遍 1
    maymay5
        14
    maymay5  
    OP
       Jun 6, 2024
    @HaroldFinchNYC
    @wujianhua22
    @yiranyibaozha
    @xuanbg
    @yunlongV
    @lancelock
    @carity
    @taozhiw
    @jenhe
    @zzzlight
    @wunonglin
    @jwj
    为什么大家都不建议重构?其实我想重构的原因也比较简单,因为用 jquery 糊出来的实在太不优雅,总给我一种很 low 的感觉,而且现在用 jquery 一直没找到一个很好的 [菜单无刷切换] 解决方案...
    nzbin
        15
    nzbin  
       Jun 6, 2024
    重构吧,.NET + Angular 绝配
    hanaTsuk1
        16
    hanaTsuk1  
       Jun 6, 2024   ❤️ 1
    重构只是满足你自己的需求,实际上用户并不会感知到
    把重构的时间花在写更多功能、更好的交互上,等到这个项目有足够的价值和庞大到难以维护再来考虑重构
    spacebound
        17
    spacebound  
       Jun 6, 2024
    作为一个资深后端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,换个页面和交互方式,看起来“高大上””现代“一点,那就用 vue 或 react
    66beta
        18
    66beta  
       Jun 6, 2024
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 nextjs + MUI
    hakr
        19
    hakr  
       Jun 6, 2024
    作为一个资深后端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你闲的没事想折腾,建议 nuxt.js
    lvajax
        20
    lvajax  
       Jun 6, 2024
    guguji5
        21
    guguji5  
       Jun 6, 2024
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你非得给自己添堵,建议 react
    zzzlight
        22
    zzzlight  
       Jun 6, 2024
    @maymay5 因为你会发现技术是为了产品服务,我这用户用的多的东西都是屎山,用户感知不到你代码咋样,但是你产品功能咋样,好不好用,用户很明显感觉得到。不要小看技术,但更不要高看技术,技术是用了生产东西的,重要的是东西
    zzzlight
        23
    zzzlight  
       Jun 6, 2024   ❤️ 1
    一个玩意里面用了老中青三代的写法,我只能说感恩向下兼容,这种玩意因为用户够多,我们想直接砍了这东西都不允许,大家都知道他是屎山,但是屎山有人用就是好代码。不然优美的代码就自己一个人看,都没人用,那完全没有意义。
    jwj
        24
    jwj  
       Jun 6, 2024
    重构好了,没人夸你。重构出问题了,出 BUG 了,那就,嘿嘿
    AV1
        25
    AV1  
       Jun 6, 2024
    @maymay5
    https://cn.vuejs.org/guide/quick-start.html#using-vue-from-cdn
    直接用 script 方式用 vue 吧。
    像 jquery 一样轻量,一个 js 文件就能做东西,又不用折腾什么 npm build 构建工具。
    byqtxdy07
        26
    byqtxdy07  
       Jun 6, 2024
    作为一个菜鸟 Java ,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    Eissen
        27
    Eissen  
       Jun 6, 2024
    作为一个 6 年全栈,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 nest 或者 nuxt
    ixwen
        28
    ixwen  
       Jun 6, 2024
    未登录时首页一闪而过的功能页
    flytsuki
        29
    flytsuki  
       Jun 6, 2024
    作为一个 7 年 dotnet 全栈,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议直接引入 vue.js
    qfdk
        30
    qfdk  
    PRO
       Jun 6, 2024 via Android
    @ixwen #28 后端验证登录了再放行..... 目测这个是前端访问/users 看看有没有登录,这里加个全页面 loading 呗
    sunmker
        31
    sunmker  
       Jun 6, 2024
    NET 和 Angular 这么配的吗?有什么说法吗?
    hahawode
        32
    hahawode  
       Jun 6, 2024
    @sunmker #31 同问 朋友欧洲项目组也是这个技术栈
    version
        33
    version  
       Jun 6, 2024
    完全没必要..现在 jquery 的页面都比大部分 vue react 的还流畅..我现在打开很多别人炫酷的博客.我的小主机 6600h 风扇就会狂转.看一会就赶紧关.说白了.还不如极简 html 风格.
    suyuyu
        34
    suyuyu  
       Jun 6, 2024
    作为一个菜鸡前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 solidjs
    maymay5
        35
    maymay5  
    OP
       Jun 6, 2024
    @qfdk 其实不是,是踩到了一个异常处理,因为我页面加载时会进行模型列表加载,模型列表获取是需要鉴权的,所以没登录会被拦截,就会走 error ,因为这个 error 的出现只有可能是没登录,所以重定向回登录了,模型列表需要鉴权是因为模型列表有自定义排序,这是跟着用户设置走的
    YVAN7123
        36
    YVAN7123  
       Jun 6, 2024
    作为一个资深前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 ts +vue
    qfdk
        37
    qfdk  
    PRO
       Jun 6, 2024
    @maymay5 #35 因为都是业务逻辑页面是要验证(我上面提到/user 也是类似这个意思要验证下权限 是不是 role:admin 这样),没验证过去 401 了才会重定向... 这里只是按道理. 不过有人看到了,你这个可以考虑 F12 把网络那里打上 slow 3G 测测咯.
    shakaraka
        38
    shakaraka  
    PRO
       Jun 6, 2024   ❤️ 4
    @hahawode #32
    @sunmker #31

    因为和 react 、vue 相比,Angular 是一个完整的工程化的 Web 框架,官方提供了一系列的解决方案可直接开箱使用,并且是强 OOP 形式,与 NET 、Java Spring 的开发逻辑、思维类似。
    shakaraka
        39
    shakaraka  
    PRO
       Jun 6, 2024
    虽然 angular 目前也在转型函数化,但也不妨碍他是一个完整工程化的 Web 框架
    zclzone
        40
    zclzone  
       Jun 6, 2024
    作为一个资深开源项目作者,我的意见如下:

    1. 建议你不要听别人的建议
    2. 也建议你不要听我的建议
    Yjhenan
        41
    Yjhenan  
       Jun 6, 2024
    作为一个 Web 前端,我的意见如下:

    1. 又不是不能用,个人认为完全没必要重新搞
    2. 如果你实在想自己折腾,建议 WebComponent
    dartabe
        42
    dartabe  
       Jun 6, 2024   ❤️ 1
    @sunmker 我个人感觉就是两者都用了不少依赖注入 其实 React 一样的
    还有可能是 Angular 比 React 要多些部件 什么状态管理库都是包含在内的 所以银行什么的用的比较多 比较稳一些
    dartabe
        43
    dartabe  
       Jun 6, 2024
    *其实 .Net + React 一样好用
    abc1310054026
        44
    abc1310054026  
       Jun 6, 2024
    简单搂了一眼目录结构,Angular 的面向对象写法应该更适合你。vue/react 现在都是在推 hooks 写法。
    aliyun2017
        45
    aliyun2017  
       Jun 6, 2024
    作为 ai:

    我建议让你的 ai 自己学会重构自己的页面,自己都不能调教自己 弹劾帮助帮别人
    ddplayer
        46
    ddplayer  
       Jun 6, 2024
    又不是不能用……

    如果你非要搞
    后台管理系统可以用 ant design pro
    如果替代 jquery:htmx
    liuliancao
        47
    liuliancao  
       Jun 6, 2024
    重新新建一个项目 然后参考别的框架改改 感觉不错
    Jack66
        48
    Jack66  
       Jun 7, 2024
    重构本身会带很多工作,没有公司需求的情况,最好不要
    coollest
        49
    coollest  
       Jun 7, 2024
    作为一个菜鸡前端:
    coollest
        50
    coollest  
       Jun 7, 2024
    @coollest 我觉得上边说的对
    myderr
        51
    myderr  
       Jun 7, 2024
    如果你想学技术,可以尝试 blazor ,可以使用这个组件 https://www.blazor.zone/
    maymay5
        52
    maymay5  
    OP
       Jun 7, 2024
    @myderr 这个不错
    gankT
        53
    gankT  
       Jun 7, 2024
    作为一个资深代码猿,我的意见如下:

    1. 又不是不能用,能用就行
    epiloguess
        54
    epiloguess  
       Jun 7, 2024
    可以用微前端来渐进式重构
    bunny189
        55
    bunny189  
       Sep 16, 2024 via iPhone
    作为一个资深菜鸡,我的意见如下:
    1.多摸鱼,活得久
    forgottencoast
        56
    forgottencoast  
       Oct 2, 2024
    @maymay5 14#
    试试 htmx ?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3258 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 159ms · UTC 12:02 · PVG 20:02 · LAX 05:02 · JFK 08:02
    ♥ Do have faith in what you're doing.