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

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

  •  
  •   maymay5 · 152 天前 · 4395 次点击
    这是一个创建于 152 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    当前用的技术栈

    • .net6
    • sqlserver
    • bootstrap4

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

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

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

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

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

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

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

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

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

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

    1. 又不是不能用
    wunonglin
        11
    wunonglin  
       152 天前
    作为一个 7 年全栈,我的意见如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. 又不是不能用,能用就行
    epiloguess
        54
    epiloguess  
       151 天前
    可以用微前端来渐进式重构
    bunny189
        55
    bunny189  
       50 天前 via iPhone
    作为一个资深菜鸡,我的意见如下:
    1.多摸鱼,活得久
    forgottencoast
        56
    forgottencoast  
       34 天前
    @maymay5 14#
    试试 htmx ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3077 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:06 · PVG 22:06 · LAX 06:06 · JFK 09:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.