V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
xiangyuecn
V2EX  ›  JavaScript

webpack4 太难了,想动态添加、修改源码,仅看文档不阅读 webpack 源码新手似乎无能为力?

  •  
  •   xiangyuecn · 2020-05-14 12:23:52 +08:00 · 2005 次点击
    这是一个创建于 1688 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想快速使用 webpack4 似乎是件不可能的事,自行编写 loader 、plugin 看文档简直看到令人发指,太简洁了,关键位置打省略号,给个源码链接叫新手看几千行的源码😂

    看样子要用点高级玩意,仅进新手村是不行的,得个把月修炼。

    loader 还好,可以直接修改到所有 require 的模块源码,但功能太弱鸡,loader 调用没有上下文、没有源码文件路径,不知道是不是我阅读的文档不对😂

    plugin 就惨了,n 多事件,官方文档没有流程图,哪个先掉哪个后调不知道是不是按照文档顺序还是什么顺序,hook 事件的具体文档就一两句话,更多叫看源码,emmm 。。。

    核心的问题是各种生成的中间对象、hook 传入的对象,压根没有任何文档可以看,也许是没有找到,又要去翻阅读相关类的源码(百行起步)。。。

    不过还好,功能做出来了,比较蹩脚,hook 里面直接使用对象_开头的私有变量(阅读源码发现人家压根就没有提供访问方法)😂

    还好,功能已经写出来了,由于 loader 没有提供源码的路径,只能额外加一个 hook 去拿路径。

    想要实现功能:

    最终调用过程:

    实用 loader 实现:

    蹩脚的私有变量访问:


    不知道有没有直接可以用的,webpack 打包时完全自定义动态修改模块内容的插件可用(简单易用,但排除 replace 插件)?

    1 条回复    2020-05-14 14:01:22 +08:00
    nianyu
        1
    nianyu  
       2020-05-14 14:01:22 +08:00
    webpack4 对比 webpack2 已经进步很多了. 当时前端没有脚手架时真是配的欲仙欲死
    回归正题: webpack 不是这么玩的. 你先在网上找一份相对完整的配置.然后去修修改改.
    需要什么或者遇到什么问题不要去看文档. 直接 google 搜 webpack + 你要干的事情
    很多产品的文档与其去看 不如直接 google
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2798 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:04 · PVG 11:04 · LAX 19:04 · JFK 22:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.