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

不会写 babel 或 webpack 插件,能算高级资深前端吗?

  •  
  •   nito · 2019-01-08 09:41:33 +08:00 via Android · 4195 次点击
    这是一个创建于 1906 天前的主题,其中的信息可能已经有所发展或是发生改变。

    babel,使用 antd 的都会用到 babel-plugin-import 插件,尝试去看源码,结果没学过编译原理,AST,完全看不懂。

    webpack,一直停留在会配置的使用程度上,也没深入理解 loader 或 plugin 的机制。

    虽然不影响实际开发,但高级的前端需要会这些知识点吗?

    34 条回复    2020-01-29 13:43:42 +08:00
    ericls
        1
    ericls  
       2019-01-08 09:53:49 +08:00 via iPhone
    不需要 这属于编译器的知识
    Bantes
        2
    Bantes  
       2019-01-08 09:54:30 +08:00
    个人觉得会使用就可以了吧
    wu67
        3
    wu67  
       2019-01-08 09:57:19 +08:00
    我觉得会用就行了, 现在这些张口闭口精通 webpack 从 0 开始配置的, 我都不知道他们到底是前端开发工程师还是 webpack 配置工程师
    CrispElite
        4
    CrispElite  
       2019-01-08 10:04:25 +08:00
    我觉得 如果你会这些,面试的时候可以是加分项,平时在公司也可以吹吹🐂🍺。不会也没关系,毕竟平时工作基本上都有现成的插件或者方案
    murmur
        5
    murmur  
       2019-01-08 10:08:14 +08:00
    会抄现有的配置就行了
    别说从 0 开始配置了
    跨 1 个版本改配置都要死人
    jera
        6
    jera  
       2019-01-08 10:15:12 +08:00
    无非是掉接口,就算 string 转 ast 也应该有现成的,实在不行 raw loader 总会写吧
    int64ago
        7
    int64ago  
       2019-01-08 10:16:11 +08:00
    你怕是对编译原理有什么误解
    hasbug
        8
    hasbug  
       2019-01-08 10:16:53 +08:00
    会用 看懂配置就够了
    azh7138m
        9
    azh7138m  
       2019-01-08 10:27:40 +08:00 via Android
    @murmur 问题不大,webpack1 升 4 也就用了一天
    jin5354
        10
    jin5354  
       2019-01-08 10:28:01 +08:00
    都是很简单的东西,只是写插件看看文档就会了,谈不上什么资深。
    ast parser 都是现成的拿来用而已,parser 才是研究点,可以试着手写个 html parser
    litpen
        11
    litpen  
       2019-01-08 10:31:03 +08:00
    我只写过一个监听 HtmlWebpackPlugin 编译时改 html 内容的插件,解决了实际开发中的某个痛点,虽然不是必须的,但是可以解锁更多姿势
    LWXYFER
        12
    LWXYFER  
       2019-01-08 10:35:07 +08:00
    只是面向 API 编程而已,没有什么大不了的。
    xkv2
        13
    xkv2  
       2019-01-08 10:36:37 +08:00 via Android   ❤️ 3
    如果你是一线码农,每天有写不完的业务代码,加不完的班,以及打不过的产品经理😂 那你会用这些工具就行,虽然不能早下班,但是可以提升编程幸福指数。
    如果你是管理层或架构之类的,为了 KPI 啥坑都敢挖的那种,对不起,你不光要吃透这些玩意的深层原理,还要造个类似的轮子大肆推广,获得升职加薪的机会,然后弃坑,再顺手给接盘侠留个彩蛋🤣
    otakustay
        14
    otakustay  
       2019-01-08 10:45:32 +08:00
    资深工程师的要求是有问题就拿得起,你现在不会没关系,但要知道什么情况下 babel 插件和 webpack 插件是达到目的的最佳手段,并且在需要的时候能够研究 1-2 天学会编写插件并实现自己需要的东西
    前者做不到的话,止步高级;后者做不到的话,止步初级吧
    kcats
        15
    kcats  
       2019-01-08 10:47:41 +08:00 via Android
    这些东西看文档一两天就会了
    yikyo
        16
    yikyo  
       2019-01-08 10:50:00 +08:00
    @kcats 写插件跟写配置是两回事。
    yikyo
        17
    yikyo  
       2019-01-08 10:50:36 +08:00
    @otakustay 这。。不会写 Webpack 插件就是初级前端了??
    yimity
        18
    yimity  
       2019-01-08 11:45:55 +08:00
    还没用过的咋办。
    hilbertz
        19
    hilbertz  
       2019-01-08 11:51:07 +08:00
    不会美工的前端,不是高级前端
    66beta
        20
    66beta  
       2019-01-08 11:57:50 +08:00 via Android
    初级前端路过
    otakustay
        21
    otakustay  
       2019-01-08 12:03:23 +08:00
    @yikyo 1-2 天研究不出来怎么写,我觉得还是当个初级就行了吧,学习和探索能力是高级工程师应该具备的基础能力
    momocraft
        22
    momocraft  
       2019-01-08 12:08:01 +08:00
    知道是第一步,人不知道自己不知道的东西能干什么

    知道了才有可能需要时能想到相应的方案,想到了才有可能做出来

    当然不知道也不会怎样,很多人都不知道
    learnshare
        23
    learnshare  
       2019-01-08 12:11:55 +08:00
    有学习和模仿的能力即可
    重要的是解决问题,而不是精通工具
    hellowes
        24
    hellowes  
       2019-01-08 12:13:34 +08:00
    不需要,前端又不是搞编译器的,你应该专注于 JS 逻辑方面的,webpack 用到再上网查就行了
    VDimos
        25
    VDimos  
       2019-01-08 12:14:15 +08:00 via Android
    ast 可以了解一下的
    hellowes
        26
    hellowes  
       2019-01-08 12:20:04 +08:00
    很无语现在很多公司,明明就是一个扭螺丝的活,给的钱也不多,非要加上什么大前端,数据渲染,什么数据流的概念。其实也就 CRUD,都没什么实际的高性能要求,还要考这个那个冷门的 API,还要你会 webpack 配置,这些上网一查不就都知道了么,只能说有些小公司的面试官很喜欢表现出 API 操作工熟练的优越感。

    我三四年前还看过 gulp、grunt 的源码,去学习了 requireJS,commonJS 的模块化,自己还写了很多前端构建插件。结果过了才不到一两年,这些花时间精力的经验积累,都被前端自己的 gm 都颠覆了。估计明年又有一个前度框架+配置工具,毕竟大部分前端都不喜欢升级别人的已有的库,喜欢自己从头开始撸一套,然后慢慢重新开始搞生态(毕竟要让自己有领头羊的感觉,而不是大家一起把某件事情做到极致)。
    yyfearth
        27
    yyfearth  
       2019-01-08 12:26:59 +08:00
    @hellowes 其实不完全是这样 主要有原因我觉得还有浏览器进化 ES 语言的快速迭代 和 NodeJS 的推动
    等 WASM 普及后 估计又是一场风暴
    wengjin456123
        28
    wengjin456123  
       2019-01-08 12:47:14 +08:00 via Android
    个人觉得会用就行
    MrYELiex
        29
    MrYELiex  
       2019-01-08 13:24:29 +08:00
    你可以现在不会 但是作为高级资深 需要你会的时候你能随时拿起
    littlebaozi
        30
    littlebaozi  
       2019-01-08 13:42:45 +08:00
    工具这种东西,会用就行了吧
    yhxx
        31
    yhxx  
       2019-01-08 14:01:08 +08:00
    @hellowes 那该问点什么呢,问 HTTP 和数据结构一样被人说造火箭啊
    hellowes
        32
    hellowes  
       2019-01-08 14:07:13 +08:00   ❤️ 1
    @yhxx 问点 JavaScript 的语句作用域、HTTP 协议各个方法首部问一遍,数据结构 JS 怎么实现,写些常见的算法题。这都比问 webpack 某个配置的值是什么来的实在,如果只问这种 API 性质的问题,我觉得面试官的水平也就那样了
    kcats
        33
    kcats  
       2019-01-08 20:21:39 +08:00
    @yikyo 没什么本质区别
    jruit
        34
    jruit  
       2020-01-29 13:43:42 +08:00
    可以看一下 Babel 教程 https://www.jiangruitao.com/docs/babel/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3247 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 00:39 · PVG 08:39 · LAX 17:39 · JFK 20:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.