我想重构我这个项目的前端,有什么好的建议? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
maymay5
V2EX    .NET

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

  •  
  •   maymay5 2024-06-06 03:02:43 +08:00 5982 次点击
    这是一个创建于 492 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    当前用的技术栈

    • .net6
    • sqlserver
    • bootstrap4

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

    56 条回复    2024-10-02 20:26:42 +08:00
    HaroldFinchNYC
        1
    HaroldFinchNYC  
       2024-06-06 04:09:17 +08:00   3
    作为一个资深前端,我的意见如下:

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

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

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

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

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

    侵入性很小,想改哪里就改哪里
    jenhe
        9
    jenhe  
       2024-06-06 09:34:50 +08:00   1
    作为一个菜鸡前端,我的意见如下:

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

    1. 又不是不能用
    shakaraka
        11
    shakaraka  
    PRO
       2024-06-06 09:39:39 +08:00
    作为一个 7 年全栈,我的意见如下:

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

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

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

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

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

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

    1. 又不是不能用,个人认为完全没必要重新搞
    Eissen
        27
    Eissen  
       2024-06-06 11:17:54 +08:00
    作为一个 6 年全栈,我的意见如下:

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

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

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

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

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

    1. 建议你不要听别人的建议
    2. 也建议你不要听我的建议
    Yjhenan
        41
    Yjhenan  
       2024-06-06 14:48:47 +08:00
    作为一个 Web 前端,我的意见如下:

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

    我建议让你的 ai 自己学会重构自己的页面,自己都不能调教自己 弹劾帮助帮别人
    ddplayer
        46
    ddplayer  
       2024-06-06 16:56:11 +08:00
    又不是不能用……

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

    1. 又不是不能用,能用就行
    epiloguess
        54
    epiloguess  
       2024-06-07 15:26:21 +08:00
    可以用微前端来渐进式重构
    bunny189
        55
    bunny189  
       2024-09-16 12:53:38 +08:00 via iPhone
    作为一个资深菜鸡,我的意见如下:
    1.多摸鱼,活得久
    forgottencoast
        56
    forgottencoast  
       2024-10-02 20:26:42 +08:00
    @maymay5 14#
    试试 htmx ?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5852 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 06:35 PVG 14:35 LAX 23:35 JFK 02:35
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86