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

现在的前端技术栈真的太恶心了!

  •  
  •   jezal · 162 天前 · 18528 次点击
    这是一个创建于 162 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在的前端技术栈真的太恶心了!
    我就想用个 react ,写个简单页面,npm 、yarn 给我整几千个包
    各种框架 Vue 、React 、Angular...
    又是打包、又是编译,webpack 、babel...
    人山人海一样的各种配置...

    遥想十来年前自学那会儿
    前端干净、简单、实用、快速,像童话一样
    不要跟我说现在项目复杂度高,也没见搞成多复杂的业务需求

    前端的兄弟们,你们是怎么挺过来的?
    你们觉得现在用着爽么?
    193 条回复    2021-12-14 19:09:48 +08:00
    1  2  
    wunonglin
        1
    wunonglin  
       162 天前   ❤️ 31
    比以前爽
    seliote
        2
    seliote  
       162 天前
    说的对,我用 Flutter 一把梭
    wangkun025
        3
    wangkun025  
       162 天前
    深深认同。
    renmu123
        4
    renmu123  
       162 天前 via Android   ❤️ 30
    说得对,别和我说什么 vue ,react ,我只用 jQuery ,一把梭。
    SorcererXW
        5
    SorcererXW  
       162 天前
    直接用 nextjs ,全都封装好了
    zhangfeiwudi
        6
    zhangfeiwudi  
       162 天前
    同感,几年没写前端了 最近一直犹豫要不要花时间看个前端框架
    shyangs
        7
    shyangs  
       162 天前   ❤️ 12
    LancerComet
        8
    LancerComet  
       162 天前
    浏览器直接引 JS 开写依然存在,可以抛弃各种构建工具
    vue666
        9
    vue666  
       162 天前
    这还好了,主要还是太杂了,更新换代快, 淘汰快, 就以最近几年跨端或者说移动端 app 为例, 有些公司用 uni-app, 有些公司原生 h5 然后跟安卓工程师联调, 有些公司用 rn, 有些公司用京东的 taro, 一小部分 flutter, 这就造成了你不知道该怎么学好了, 如果以市场需求最多的来学, 你会发现, 很多人都会, 如果以市场比较少的来学, 你会发现你学起来比较吃力, 而且后期发展似乎不怎么好,因为你不确定类似于 flutter 这样的东西在国内以后是否会有比较好的发展趋势, 那我 的投入和收入不成功正比了
    jezal
        10
    jezal  
    OP
       162 天前
    @LancerComet 关键是现在很多 package 都是基于这套体系对外提供的,直接引用会有各种问题
    lupkcd
        11
    lupkcd  
       162 天前
    vue 可以像 jq 那样用啊
    wu67
        12
    wu67  
       162 天前
    其实这些还好...ts 才是最怪的...披着前端外皮的静态语言, 只不过编译结果是 js 罢了...
    joydragon
        13
    joydragon  
       162 天前
    你这情况写写纯 html 就行了啊
    Kilerd
        14
    Kilerd  
       162 天前
    你说的对,但是这话换成 spring 也丝毫没有任何问题。
    bnrwnjyw
        15
    bnrwnjyw  
       162 天前 via iPhone
    你写 c 不用编译吗?写 makefile 就不烦? c 不需要依赖?只不过你用的依赖大部分都系统内置了罢了。
    ashong
        16
    ashong  
       162 天前 via iPhone
    刚开始烦,用习惯就顺手了。

    web 要兼容老旧浏览器还必须用 webpack babel 等工具。
    maddot
        17
    maddot  
       162 天前
    jQuery 走天下
    thinkershare
        18
    thinkershare  
       162 天前
    因为工作本来就是真个样子, 有你爽的地方, 也必然有你不爽的地方, Web 前端变成今天这个样子. 根源在浏览器这个破玩意诞生的时候就决定了
    gamexg
        19
    gamexg  
       162 天前   ❤️ 1
    非前端,
    最头大的是,有的项目一段时间不动再次编译直接失败。
    前端项目是有依赖管理,但是不明白为什么会出问题。
    ALVC666
        20
    ALVC666  
       162 天前
    讲道理比以前爽多了。。
    当然要就写个 playground 的话 你要是想快直接 cdn 引用梭起来也可以的呀
    dfkjgklfdjg
        21
    dfkjgklfdjg  
       162 天前
    我当初刚开始接触三大框架的时候也是这样想的,但是上手了之后,卧槽真爽。
    DOLLOR
        22
    DOLLOR  
       162 天前   ❤️ 3
    以前写个页面还要操心 IE56789 的时代,才是真正的黑暗时代,经常要玩各种奇技淫巧,一点也不干净、简单、实用、快速。

    现在才是真的爽,不用操心兼容性了。
    jquery 这种过时的玩意我都不用了,直接抄起 vanilla 就能干活。
    agdhole
        23
    agdhole  
       162 天前
    写个简单页面根本不用关心什么配置,cli 安装一路回车就能用了
    xption
        24
    xption  
       162 天前
    最近在学习 TypeScript 、Vue 、Electron 等
    和楼主一样,之前接触前端还是十年前,也有 LZ 类似的感觉
    不过抱怨归抱怨,抱怨完还是要拥抱时代
    huijiewei
        25
    huijiewei  
       162 天前
    并不想回到以前
    cmdOptionKana
        26
    cmdOptionKana  
       162 天前   ❤️ 8
    楼主说 “我就想用个 react ,写个简单页面”,楼主又说 “关键是现在很多 package 都是基于这套体系”

    这就是问题所在了,react 以及一些 package ,本就不是为简单页面设计的,本就是为复杂页面设计的。

    要是简单页面,你依然可以用 jQuery 那一套老办法,bootstrap 也是完全支持老一套。

    不能去用一个本来为复杂页面设计的技术,然后又怪它太复杂。
    cmdOptionKana
        27
    cmdOptionKana  
       162 天前   ❤️ 11
    “不要跟我说现在项目复杂度高,也没见搞成多复杂的业务需求”

    既然你的项目不复杂,那为啥要强行用 react ?不复杂的页面需要什么库找不到可 cdn 直接引用的替代品?

    而别人的页面,要么真的复杂,要么人家用这些工具不觉得烦,那都是别人的事情,你不能替别人烦啊。
    GiantHard
        28
    GiantHard  
       162 天前 via Android
    简单项目直接 vue-cli angular-cli vite-react 起手啊,都是开箱即用的,不需要配置的啊
    wanguorui123
        29
    wanguorui123  
       162 天前
    原生 JS 一把梭
    toacnme
        30
    toacnme  
       162 天前
    没有,其实久了还是很爽。
    无论是开发体验还是在应用上。
    shanyuhai123
        31
    shanyuhai123  
       162 天前
    对于想接个前端活就跑的来说是恶心了,但是天天接触的表示很好。
    janus77
        32
    janus77  
       162 天前
    所以就两条路
    要么放弃 react 这种现代大型框架,jq 一把梭
    要么走 java 的路,全面拥抱 IDE ,IDE 已经帮你整合大部分工作了,一键即可。
    狗头
    Buges
        33
    Buges  
       162 天前 via Android   ❤️ 1
    试试 vite ,开箱即用,别管 webpack ,babel 那些了。
    不过 npm 项目依赖数量多、层级深确实是个诟病的地方。
    codingBug
        34
    codingBug  
       162 天前 via Android   ❤️ 2
    不是做前端的肯定觉得恶心
    dtysky
        35
    dtysky  
       162 天前   ❤️ 3
    2021 年了,别再讨论这些了。
    opengps
        36
    opengps  
       162 天前 via Android
    不光是前端,各个环节都在避免重复造轮子来提高效率。如果真的追求某些极致才有必要去从零开始写东西,当然,因为需要借用各种轮子的带来的感受并不好
    kinghly
        37
    kinghly  
       162 天前 via Android   ❤️ 4
    恶心 === 学不动
    Edsivan
        38
    Edsivan  
       162 天前   ❤️ 3
    既然是简单页面,为啥要用 SPA 呢?直接以 script 的方式引入 react 或者 vue 对应的 prod.js 就可以了啊。不会 !== 恶心。
    Pastsong
        39
    Pastsong  
       162 天前
    jquery 挺好的,自己不爱写那些 SPA 的话完全不用躺浑水
    FightPig
        40
    FightPig  
       162 天前   ❤️ 2
    node_modules 目录是真的恶心,前阵子硬盘没坏前,隔一个月我就要清理一下硬盘的 node_modules ,每次都能清出 30 多 g
    learningman
        41
    learningman  
       162 天前
    你不想用就别用啊。。?直接写原生 js 是不能运行还是咋了
    Osk
        42
    Osk  
       162 天前   ❤️ 1
    其他还好, 最受不了的是 node_modules 这个无底洞, 因为 js 不像其他的语言那样有强大的标准库, npm 随便一个小工具一大坨依赖, 一大坨小文件真的是难受啊. 动不动以万计的小文件, 人都给整傻了. 而且感觉这样很危险, 依赖的依赖的依赖一挂, 简直噩梦; 另外, 还徒增了供应链攻击的风险.
    Rocketer
        43
    Rocketer  
       162 天前 via iPhone
    学之前跟楼主一样的想法。

    学之后——我艹,真香!
    zxw567
        44
    zxw567  
       162 天前
    楼上嫌弃 node_modules 的可以试试 pnpm ,可以复用已有的依赖,避免多次重复下载
    tfu
        45
    tfu  
       162 天前
    今天刚尝试用 vue 想写个单页 web 应用,确实被恶心到了,我就一个页面放在以前可能就三个文件就搞定了( html ,js ,css ),现在安装一堆包,也不知道用不用得上,连哪些包是干嘛的都不知道,搞得有点头大。和楼主感同身受。
    ochatokori
        46
    ochatokori  
       162 天前 via Android
    十来年前的东西又不是不能用,谁爱用谁用,可以不用委屈自己上脚手架…
    ayase252
        47
    ayase252  
       162 天前 via iPhone   ❤️ 1
    😅都快 2022 年了

    这种贴没记错的话每个月一遍吧
    FightPig
        48
    FightPig  
       162 天前
    @zxw567 最近 一直在用 pnpm ,硬盘占用并不见少多少,node 有很多一行代码解决的问题,也要引个包,11 月 node 包被挂恶意程序的我知道的已经有两回了
    IGJacklove
        49
    IGJacklove  
       162 天前
    要不是我写过 jQuery 我还真信了你的邪.现在比以前舒服多了吧,以前我自己写着玩的 jQuery 过几周我自己都看不太懂.
    toma77
        50
    toma77  
       162 天前
    试试 Svelte ,爽的一批
    godmiracle
        51
    godmiracle  
       162 天前
    @Osk pnpm 用起来
    changwei
        52
    changwei  
       162 天前   ❤️ 10
    react-create-app 或者 vue-cli 脚手架工具帮你直接一键生成好各种环境
    react-scripts 甚至帮你封装好了最优化的 webpack 配置,你可以享受到只用更新 react-scripts 就能体验最新和最优 webpack 配置的便利性,而不需要学习 webpack 以及各种 babel ,各种 loader 本身的配置
    npx react-create-app app 然后打开 App.jsx 就可以直接开写业务逻辑,需要 sass 直接 npm install node-sass ,需要 typescript 也直接安装一下依赖就好,整个过程全部都是背后的 react-scripts 帮你做好了 webpack 和相关配置,并且还是最优配置,我实在想不到还有什么比这更方便的开发方式?
    要发布生产环境也可以直接 npm run build 一键生成最优化的 js 和 css 代码,直接 copy 到 nginx 的 webroot 就能运行,简直不要太方便
    难道手动去 copy 最新 jquery 引入链接,手动引入各种 vendor 还要考虑依赖和加载顺序,手动配置开发 server ,手动用 link 引入各种 css ,手动使用各种 document.getElementById 然后再用 element.innnerHTML 等各种 HTML DOM API 修改与读取 DOM 内容这种开发方式会很简单?
    vision1900
        53
    vision1900  
       162 天前   ❤️ 1
    目前的情况是一个非常好的后端工程师不需要了解前端,一个非常好的前端工程师必须了解后端
    noqwerty
        54
    noqwerty  
       162 天前   ❤️ 3
    @changwei #52 作为一个对前端了解不多的人,写新项目的时候确实很方便,通过你说的这些脚手架工具很快就能搭起环境。潜在的弊端是我根本不知道生成的这些文件是做什么的,它们之间依赖关系是怎样的,修改起来可能牵一发而动全身。而一旦需要深入了解就进入到了楼主说的情况,想写几个界面结果要学一大堆配置文件😂
    xujinkai
        55
    xujinkai  
       162 天前 via Android   ❤️ 3
    主要是工程目录太庞杂了,自动生成的配置又复杂无比,虽说不一定要手动去配,但确实是看着“恶心”。
    拿其他语言举例,C#工程默认就是一个 csproj 文件和一个 cs 文件,上手“看起来”就友好一些。c 语言,起手一个 c 文件,再 Makefile 里写两行,得从零写,但也很清晰。
    而前端,npm 先搞进来几千上万个文件,一大堆 json 配置,我这种新手根本搞不清依赖关系,哪个能改哪个不能改,自然看着“恶心”。
    啥时候前端工程能起手一个 html/js 一个 config ,同时还能处理各种依赖和兼容,就不会被吐槽了。
    ericgui
        56
    ericgui  
       162 天前
    你如果仅仅是随便用用,cra 足够了,但作为一个专业前端,你还是要学习一下怎么用这些构建工具的,有很多复杂的情况需要考虑,这些构建工具确实能帮到你
    3dwelcome
        57
    3dwelcome  
       162 天前
    不仅仅是技术上的复杂,工具太复杂,你还可以选择性忽略。

    但是前端计算能力上去后,需求也变极其复杂,导致代码量上去后,不好维护,这才是最要命的点。

    天天写一大堆逻辑,功能是强了,代码也乱了。也不知道是好事还是坏事。
    eason1874
        58
    eason1874  
       162 天前
    现代前端开发环境已经跟后端一样复杂了,开发效率提高了,门槛也提高了

    Vue 有 standalone 版本,可以脱离前端开发工具链,像库那样引入文件然后写代码
    randyo
        59
    randyo  
       162 天前 via Android
    jQuery 才是真的恶心,不想回去用那个玩意
    Infinitify
        60
    Infinitify  
       162 天前
    @Buges vite 好像用的人还不太多,否则可以用一下。
    kensoz
        61
    kensoz  
       162 天前
    即便恶心,面试要考也得学啊
    Mutoo
        62
    Mutoo  
       162 天前 via iPhone
    npm 符合真香定律
    lagoon
        63
    lagoon  
       162 天前
    得看这是你需要掌握的复杂,还是不需要掌握的复杂。

    写几行字,还要一个操作系统。我在纸上写几行字就只用一支笔和纸。

    倒不如说,这是对“懂底层”的讽刺。文员不能光会写 office ,还要懂操作系统原理。
    sciel
        64
    sciel  
       162 天前
    react,nextjs,SWR,react-bootstrap,react-toastify,react-use-websocket...真的不错。
    组件方式写页面很爽,全都封装成对象来处理,各种组合调用。不过在选择到底用服务端渲染还是客服端渲染时要仔细一点。

    想象一下,一个取消和提交的 button 按钮封装成一个组件对象,在你的所有页面中,你想要用都可以调用,而且你要换样式或加什么其他东西,在这个组件里面进行修改,所有你用到的都会改变,那不很舒服,而且代码少很多。
    Geo200
        65
    Geo200  
       162 天前
    @ashong
    必须要用 webpack 那就不对了,只用 jquery 还真的能直接兼容到 IE6
    pcbl
        66
    pcbl  
       162 天前 via Android   ❤️ 1
    没有需求就创造需求,没有门槛就创造门槛
    alexkkaa
        67
    alexkkaa  
       162 天前 via Android
    这个应该是 npm 的锅吧。归根结底前端发展太快,轮子爆炸式增长。
    4ark
        68
    4ark  
       162 天前 via iPhone
    @gamexg 不锁版本的吗
    FigoLee
        69
    FigoLee  
       162 天前
    同感,以前就 DIV+CSS+JS 搞定,什么插件包啊全都不需要
    nVic
        70
    nVic  
       162 天前   ❤️ 1
    @shyangs 图中人是当年“活人不救,给钱才捞尸”的渔民。
    yikyo
        71
    yikyo  
       162 天前
    你问问有多少前端愿意回到 jquery 时代,因为不熟悉,片面了解就吐槽合适吗
    jezal
        72
    jezal  
    OP
       162 天前 via iPhone
    @yikyo 我不是说要回到那个时代,而是说现在前端为解决问题而造的轮子 比要解决的问题 还多,丢掉了以前简洁易用的特性。
    lewinlan
        73
    lewinlan  
       162 天前 via Android
    无能狂怒
    zjsxwc
        74
    zjsxwc  
       162 天前
    我喜欢
    原生 js+bulma 的样式
    chengxy
        75
    chengxy  
       162 天前
    @jezal #72 简洁是简洁,但真的易用吗?
    kunkunzhang
        76
    kunkunzhang  
       162 天前 via Android
    @jezal 与其说丢掉了简洁性,不如说承担了越来越多的工作,场景多 功能多 不是随随便便都可以写前端的
    yazoox
        77
    yazoox  
       162 天前
    现在 vite 能够取代 webpack 了么?(项目是 react + ts )
    dengji85
        78
    dengji85  
       162 天前
    我是做后端的,开发还用的是 jsp 和 angular.js,我是想尽办法用前端栈,最近用 uniapp 做了几个移动端页面。简直不要太爽,主要是欣赏组件化,这对后端以前的 iframe 引用太友好了
    undefine2020
        79
    undefine2020  
       162 天前
    如果不是这些弯弯道道,前端工资会这么高?
    SmiteChow
        80
    SmiteChow  
       162 天前
    这叫百花齐放百家争鸣
    AyaseEri
        81
    AyaseEri  
       162 天前
    amis ,请
    duanxianze
        82
    duanxianze  
       162 天前
    说到底 你的需求用 jquery 就行,那你就用啊?谁逼着你用 vue,react 了?等你需要的时候,自然知道他们的好
    WildCat
        83
    WildCat  
       162 天前
    前段工程化之后让巨无霸项目变得可能,否则人们还是只能写 $('#foo.bar') 这种命令式编程。
    TypeScript ,npm ,各种打包工具的加入使得这个圈子变得百花齐放。对比之下, 另外一个极端就是 iOS/macOS 开发,苹果一家独大垄断基本上所有的开发者工具,导致开发者体验巨差。
    Youngsun
        84
    Youngsun  
       162 天前
    我觉得很爽,你可能只是为自己不想学习固步自封找借口
    jguo
        85
    jguo  
       162 天前
    只想用 react 加一个指向 cdn 的 scrpit 不就完了,跟以前 jquery 有什么区别
    sweetcola
        86
    sweetcola  
       162 天前   ❤️ 1
    以前用 jQ 真的“一直”都简洁吗,如果要更新一个 DIV 你是直接 query 它还是在初始化后记录用 var 记录呢。然后随着代码增多,交互增多,记录的越来越多,变量也越来越多,不会觉得很乱吗。更何况还是用的像 var 这种,后面维护起来简直头疼,refactor 都难。综合以上这些点你真的觉得 jQ 更好吗。而且随着 ES 的更新,大多数 jQ 的特性都自带了,使用了 Babel 后更是能让你比较无痛地在旧浏览器使用新特性。然后就是 React 一直推的都是 think like React ,你用 jQ 的思路来做 React 还不如直接用 jQ 。
    lvdb
        87
    lvdb  
       162 天前 via iPhone
    2021 年快结束了,还在发这种帖子不觉得可笑吗?上面还有回复说 ts 怪的,hhhh 太可笑了…
    jimmyismagic
        88
    jimmyismagic  
       162 天前
    作为一个后端,想学点前端,感觉无从下手
    sjzjams
        89
    sjzjams  
       162 天前   ❤️ 1
    这是理解不了现在前端的方便??
    dope7
        90
    dope7  
       162 天前   ❤️ 1
    有点搞笑了哈,无能狂怒?
    jyeeren
        91
    jyeeren  
       162 天前
    说 ts 怪的,emm...
    jguo
        92
    jguo  
       162 天前
    @noqwerty 所以你倒是是想写简单界面还是想深入了解
    66beta
        93
    66beta  
       162 天前
    觉得不需要的,那可能你的项目太简单了,确实用不上
    waiaan
        94
    waiaan  
       162 天前
    @jimmyismagic
    html/css/js 都会了就直接学 VUE
    christin
        95
    christin  
       162 天前 via iPhone
    确实,如果你觉得一个东西没有用,那就是你没有这个需求。就别自己给自己找麻烦了。
    cmdOptionKana
        96
    cmdOptionKana  
       162 天前
    不过话说回来,大多数网站其实 jQuery 真的够用而且好用,react/vue 没必要强行用。

    比如 V2EX 也是用传统技术做的,没啥问题。

    notion.so 就很复杂,用 jquery 够呛,虽然不知道是否使用 react/vue ,但应该免不了用 npm/webpack 吧。

    客观来说:

    1. 不能说没有复杂页面,facebook, google docs, notion 等等,你让人家用 jquery 真的不合理。
    2. 多数网站用 jQuery 就够了,但 react/vue 也是一种合理选择,根据自己喜欢来选,没必要替别人操心。
    yuthelloworld
        97
    yuthelloworld  
       162 天前   ❤️ 1
    固步自封且寻找认同
    h1104350235
        98
    h1104350235  
       162 天前
    又不是所有的项目都要用 vue react
    既然业务简单的话,可以单纯的 h5 页面
    cw2k13as
        99
    cw2k13as  
       162 天前
    呃呃,都不知道你在说啥,你小型项目你可以直接引用 vue ,react 的 js ,反正我用 webpack ,包管理用的很爽
    cw2k13as
        100
    cw2k13as  
       162 天前
    @wu67 反正我用起来很爽
    1  2  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2992 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:36 · PVG 20:36 · LAX 05:36 · JFK 08:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.