Ronen Amiel - Build Your Own Webpack

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 พ.ย. 2024

ความคิดเห็น • 71

  • @j1d7s
    @j1d7s 6 ปีที่แล้ว +35

    This was one of the best technical talks I have ever watched! Today I wanted to understand the bundle that webpack creates for a very simple project and I was having a bit of a hard time, so I looked for resources and came across this video. The bottom up approach of this talk has just been perfect to better understand how things fit together.

  • @sumeetilalwani5548
    @sumeetilalwani5548 3 หลายเดือนก่อน

    What an amazing video! I had to slow down and rewind in a lot of places because it was so filled with info. Also, love the self-deprecating humour and the unassuming tone. Brilliant 💟

  • @shyamtripathi2097
    @shyamtripathi2097 11 หลายเดือนก่อน

    It is so sad that these kinds of videos are so underrated on youtube... This was so easy for me to understand

    • @golcuk2076
      @golcuk2076 10 หลายเดือนก่อน

      Because it is not something "Learn JS in 10 hours" :D Joke aside the one who going to be interested in such a topic must pass the basic things so that way they are curious about those under-the-hood topics and start to search. That's why there are such low views because people who search for it are a minority.

  • @ahmedmahmoud7207
    @ahmedmahmoud7207 4 ปีที่แล้ว +10

    indeed one of the best tech talks I've ever watched. thanks for the extremely simplified and insightful explanation!

  • @yongzeyao1337
    @yongzeyao1337 5 ปีที่แล้ว +4

    This is the best tech talk I have ever watched! Great talk! You have shown me how magic is done! Thank you so much!

  • @codeconcept
    @codeconcept 6 ปีที่แล้ว +9

    Two thumbs up! I'll watch it again, but even a single view was really informative. It shows what problems other bundler creators and maintainers have to solve. Funny thing is I played with astexplorer yesterday and now, thank to you, I know how to use an AST for real live project.

  • @beckmoyon166
    @beckmoyon166 3 ปีที่แล้ว +2

    Thanks! Helps a lot for my coming interview! Hope I can knock down everyone who asked me about Webpack bundle!

  • @FacadeMan
    @FacadeMan 3 ปีที่แล้ว +1

    First time I saw the loop counter, I was like, dude, why you doing that? At 20:12 I was like, dude, you genius. Alfred Hitchcock style twist. I’m sorry, I can’t explain what I’m understanding, but I get what you doing. Awesome stuff

  • @maalunandhu007
    @maalunandhu007 หลายเดือนก่อน

    this is the best best bundler video..awesome

  • @jixiangli4752
    @jixiangli4752 3 ปีที่แล้ว +2

    Thank you so much for bringing this concept to us.

  • @eybietie
    @eybietie ปีที่แล้ว +1

    it's quite funny when there is a lot of devs in the audience live debugging some live coding

  • @ZealousSwede
    @ZealousSwede ปีที่แล้ว +1

    This was great, thank you Ronen.

  • @golcuk2076
    @golcuk2076 ปีที่แล้ว +1

    No doubt amazing explanation yet I don't have enough understanding to understand everything %100 percent. Thx for this video anyway

  • @blackrobot138
    @blackrobot138 2 ปีที่แล้ว

    My god... this video is gold. Sorry but I am downloading it for my future references. Please...please ...start a youtube channel dude. You explained everything really well each and every step with logging before moving forward which really helped me to understand what I am getting and what should I do with it to get where I want. Awesome talk.

  • @WayneRiesterer
    @WayneRiesterer 4 ปีที่แล้ว +2

    Great presentation, thanks!

  • @xerxius5446
    @xerxius5446 3 ปีที่แล้ว +1

    This talk is awesome!

  • @chenrvn
    @chenrvn 6 ปีที่แล้ว +8

    u r rock men! gr8 lecture bro

  • @naveedh27
    @naveedh27 6 ปีที่แล้ว +21

    This video by default runs in 1.25x

    • @paolo-1283
      @paolo-1283 5 ปีที่แล้ว

      😂

    • @jonnytheponny5753
      @jonnytheponny5753 5 ปีที่แล้ว

      yes, and I am wachting ist at 2 X Speed, life is to short (and he's talking too slow;-)

  • @vipinchacko5118
    @vipinchacko5118 6 ปีที่แล้ว +3

    amazing lecture!

  • @schwarzeni8995
    @schwarzeni8995 5 ปีที่แล้ว +3

    amazing lecture !!

  • @arnabchatterjee7651
    @arnabchatterjee7651 4 ปีที่แล้ว +1

    thats a damn good tech talk

  • @takealuque
    @takealuque 4 ปีที่แล้ว

    Very nice talk. Well done!

  • @dangchithao
    @dangchithao ปีที่แล้ว

    Great video, many thanks :)

  • @Mrpuneethts
    @Mrpuneethts 6 ปีที่แล้ว +8

    Amazing!!! Really loved it. But I have a question.
    What if we have same file imported at two different places. How's web pack removes duplicates?
    Ex: Like lodash imported at multiple locations ?

    • @GreenZ3r0
      @GreenZ3r0 6 ปีที่แล้ว +5

      In his example the asset was added multiple times to graph with different ids. Production bundlers check before creating an asset about its existence and map the existing asset id.

    • @ilikememes9052
      @ilikememes9052 4 ปีที่แล้ว

      Webpack removes duplicates by making a seperate array for dependencies which are already processed and when a duplicate dependency comes to process it checks in the array that it has already processed so webpack leaves it and go to another dependency.

  • @samandarboymurodov8941
    @samandarboymurodov8941 2 ปีที่แล้ว

    Great explanation!

  • @m3talg3array
    @m3talg3array 6 ปีที่แล้ว +5

    This was great!!

  • @anthonyh618
    @anthonyh618 2 ปีที่แล้ว

    Great talk.

  • @open_walnut
    @open_walnut 2 ปีที่แล้ว

    I wonder what is the `module` (2nd argument) for in `function(require, module, exports)`? User code (the module) would just populate `exports` and use no `module` argument?

  • @KomarovPavel-if8ud
    @KomarovPavel-if8ud ปีที่แล้ว

    why do you need "module" variable on lines 83, 85 and 87? Non of the modules actually use "module" parameter, only "require" and "exports". I might have to try rewriting it myself, maybe I missed something.

  • @DotanSimha
    @DotanSimha 6 ปีที่แล้ว +4

    awesome!!!

  • @邓成-g1m
    @邓成-g1m 5 ปีที่แล้ว

    Very Good Explanation

  • @nagarjunaimmadi4798
    @nagarjunaimmadi4798 4 ปีที่แล้ว

    Great lecture

  • @sungjuyea4627
    @sungjuyea4627 3 ปีที่แล้ว +1

    I had a very serious problem with babel during following this tutorial, from 26:34
    The current @babel/core 's function transformFromAst somehow does not work with the presets 'env' options,
    so I had to read the babel's docs, which was absolutely useless in that it provided no explanation.
    Is there anyone who resolved this problem?

    • @zecheng5807
      @zecheng5807 2 ปีที่แล้ว

      Babel's interface has changed a bit since this demo. You can use this instead: transformFromAstSync(ast, undefined, { 'presets': ['@babel/preset-env'] }); . Note: you also need to install @babel/preset-env as a dev dependency.

    • @CuriousFunguy
      @CuriousFunguy ปีที่แล้ว

      as of 2023/09/11 with "@babel/core": "^7.23.3",
      npm install @babel/core
      npm install @babel/preset-env
      const babel = require('@babel/core');
      ...
      const {code} = babel.transformFromAst(
      ast,
      null,
      {presets:['@babel/env']}
      );

  • @elsonmendes3500
    @elsonmendes3500 4 ปีที่แล้ว

    cool thing, it is like poetry

  • @grdhog
    @grdhog 3 ปีที่แล้ว

    Very clever!

  • @yzjiuniang3521
    @yzjiuniang3521 4 ปีที่แล้ว +1

    georgeous!

  • @foreignword2178
    @foreignword2178 5 ปีที่แล้ว

    magic explained with words

  • @格朗-o5z
    @格朗-o5z 3 ปีที่แล้ว +1

    why does the subtitle is not English? is Dutch?

  • @tengyunwang3976
    @tengyunwang3976 4 ปีที่แล้ว

    awesome!

  • @natural-song
    @natural-song 5 ปีที่แล้ว +1

    awesome hello!

  • @perryshark5143
    @perryshark5143 3 ปีที่แล้ว

    感觉国外的技术分享的氛围要好一些,你们一般是在哪些地方有这种技术分享活动呢?

  • @alex-nz3jr
    @alex-nz3jr 3 ปีที่แล้ว

    clap on you! Thanks!

  • @akhilnukala896
    @akhilnukala896 4 ปีที่แล้ว

    thanks a lot

  • @henguemelkis1464
    @henguemelkis1464 6 ปีที่แล้ว

    Awesome!

  • @annranz6406
    @annranz6406 6 ปีที่แล้ว

    So Great!!!!

  • @successhope7767
    @successhope7767 6 ปีที่แล้ว

    awesome

  • @Skvdev
    @Skvdev ปีที่แล้ว

    Why is its name value Kiev?

  • @henriquedeveloper8101
    @henriquedeveloper8101 3 ปีที่แล้ว +1

    Subtitles would be nice

  • @VitalyBelenky
    @VitalyBelenky 5 ปีที่แล้ว

    amasing!

  • @159623a
    @159623a 6 ปีที่แล้ว

    awsome

  • @masterchief1439
    @masterchief1439 6 ปีที่แล้ว

    why export const is transpiled to 'var name' and not 'const name'? isnt const supported by all modern browsers?

    • @djds4rce
      @djds4rce 6 ปีที่แล้ว

      Cause the purpose of transpiling is to support older browsers

    • @SimonBuchanNz
      @SimonBuchanNz 6 ปีที่แล้ว +2

      The default behavior of babel-preset-env is to transpile everything down to es5. If you pass it a description of what you will be running on, for example, `presets: [["env", { targets: { chrome: 66, safari: '11.1' } }]]` it will only transform code that won't run on those. It has a whole lot more features than I can get into here though!

    • @henguemelkis1464
      @henguemelkis1464 6 ปีที่แล้ว

      Because const is an ES6 feature, thus "new" feature, that is not supported by all browsers yet

    • @SimonBuchanNz
      @SimonBuchanNz 6 ปีที่แล้ว

      @@henguemelkis1464 Not really an issue for const specifically, it's supported by everything current, including IE 11, but check what your users are using.

  • @thohangst
    @thohangst 5 ปีที่แล้ว +1

    When subtitles fail

  • @penggunaphp7297
    @penggunaphp7297 6 ปีที่แล้ว

    Under the hood

  • @WofWca
    @WofWca 4 ปีที่แล้ว

    I know Kung Fu

  • @conver1787
    @conver1787 6 ปีที่แล้ว

    I want the source code

  • @王超-v5k
    @王超-v5k 3 ปีที่แล้ว +2

    这他娘听得懂有鬼了

  • @link1747
    @link1747 3 ปีที่แล้ว

    awsome