Build a Chrome Extension With React & Webpack

Поділитися
Вставка
  • Опубліковано 13 гру 2024

КОМЕНТАРІ • 96

  • @sanujatharinda6525
    @sanujatharinda6525 2 роки тому +12

    You explained 2 hours worth of content in just 17 minutes. Thank you very much...

  • @Jaayy
    @Jaayy Рік тому

    Criminally underrated. If you have the time you need to be the savior of coding tutorials on youtube

  • @dumitru12cosmin
    @dumitru12cosmin 2 роки тому +9

    I loved how clear you explained all those concepts I spent hours trying to understand. Great job!

  • @ginebro1930
    @ginebro1930 10 місяців тому

    The best video out there about this and the channel has only 1 video, insane.

  • @proyas21
    @proyas21 2 роки тому +2

    This video is the best among all other videos I have watched on this toping in UA-cam. Please keep making these awesome videos and please please please continue this topic. 👏👏

    • @proyas21
      @proyas21 2 роки тому

      @@codifytools thank you so much you are the best. 😄😄😄

  • @sergsergey4251
    @sergsergey4251 5 місяців тому +1

    Thank you for your tutorial!

  • @TahaCrafter
    @TahaCrafter 2 роки тому +4

    Thank you so much, very clear explanation!
    I can't believe you only have 80 subscribers, youtube algorithms are not fair, it should rank your videos much higher to get the number of subscribers that you actually deserve.

  • @hubertryan
    @hubertryan 2 роки тому +1

    Thank you so much! I wasn't wanting it to end!!!!! thank you!!!!!!!!

  • @robinbeaudru6892
    @robinbeaudru6892 3 роки тому +1

    Underrated video, thank you so much.

  • @sunkanmiolaleye1799
    @sunkanmiolaleye1799 2 роки тому

    One the best tutorials I have seen. Thanks for sharing.

  • @uppadaavinash3338
    @uppadaavinash3338 2 роки тому

    Awesome video, cleared all my doubts on react chrome extention. Great job!

  • @mollu7522
    @mollu7522 Рік тому

    Your tutorial helped a lot! Thank you for your videos!

  • @dani5318
    @dani5318 Рік тому

    this video was incredibly well made, thank you for this :D

  • @shahriarparvezshuvo4760
    @shahriarparvezshuvo4760 2 роки тому +1

    Right on to the point. Please do more video like this. Your explanation is very clear. 👌

  • @lookwhoneedsahobbie
    @lookwhoneedsahobbie 2 роки тому +1

    Amazing tutorial. Answered all my questions. I especially love automating 'npm run build' on changes at the end. Thank you!!

  • @Krow-n3o
    @Krow-n3o 2 роки тому +2

    remember to add in webpack.config.js the code below if creating other files named (jsx|ts|tsx), otherwise you will get import errors while building the code.
    resolve: {
    extensions: ['.js', '.jsx', '.ts', '.tsx'],
    },

  • @321123580
    @321123580 Рік тому

    Very clear and helpful info, thank you a lot)

  • @bharatkumar-be9ki
    @bharatkumar-be9ki Рік тому

    Awesome explaination, really helpful.

  • @BryantCobarrubias
    @BryantCobarrubias 2 роки тому

    Great video. One thing tripped me up while setting up Webpack, at 12:20 you glossed over adding the line "const HtmlWebpackPlugin = require('html-webpack-plugin');" to the top of webpack.config.js. It took me a quick trip to stackoverflow to figure it out. :)

  • @MrLmao9
    @MrLmao9 2 роки тому

    Perfectly explained, thanks!

  • @talatkuyuk6556
    @talatkuyuk6556 3 роки тому +4

    Hi, you are awesome. You give very clear explanations. Hope you continue to make youtube tutorials about nodejs-react-chrome extension including script injection, service workers etc. Thank you very much again, I've subscribed, liked and get always notified.

  • @HackerFlavio
    @HackerFlavio Рік тому

    this video is insane, extremely helpful, thankyou

  • @anujchoudhary859
    @anujchoudhary859 2 роки тому

    Thanks man. This was really very helpful video.

  • @jiemi-wang
    @jiemi-wang 3 роки тому +1

    It's a great video
    It's very helpfull, i am hoping more video about this topic

  • @CemKaraca
    @CemKaraca 2 роки тому

    Loved how you explain step by step, thank you!

  • @ironsand
    @ironsand 2 роки тому

    REALLY outstanding. Thanks!

  • @rayfront7390
    @rayfront7390 3 роки тому +1

    this is very helpful, thank you

  • @nevenpanchev441
    @nevenpanchev441 2 роки тому

    Amazing tutorial from start to finish :) Well done!

  • @hiratlt
    @hiratlt 2 роки тому

    If the extension shows a blank page:
    Name the function in popup.jsx starting with an uppercase, for example: popup() is wrong but Popup() is right. I don't know why it doesn't let you use lowercase but this was the fix that solved my problem.
    Thanks for the video.

  • @AntonKlimkovich
    @AntonKlimkovich 3 роки тому +1

    Thanks a lot! Great content.

  • @takeshi_chin
    @takeshi_chin 2 роки тому

    Amazing tutorial. Now I have to figure out how to use TypeScript in that project.

    • @takeshi_chin
      @takeshi_chin 2 роки тому +1

      @@codifytools I'll definitely check the blog post! Your explanation was one of the clearest I've ever seen/heard.

  • @vanguard6712
    @vanguard6712 2 роки тому +2

    Thank you for an informative video.
    Totally unrelated topic! May i know the VS Code plugin that you are using in this tutorial which autocompletes your code? especially at 12.22

  • @mrsam683
    @mrsam683 Рік тому

    Thanks man, really helpful.

    • @mrsam683
      @mrsam683 Рік тому

      @@codifytools I have a question though regarding what you say at 6:40. I thought that the manifest will inject the background file anyways, so why would I need to define it in the webpack.config.js as an entry point? Also, if I define content script in the manifest that get injected on certain webpages, do I need to add them in the config aswell?

  • @AbhinandanMishra1
    @AbhinandanMishra1 3 роки тому +2

    It's a great request.
    Create the chrome extension tutorials from start to end.
    How to access local storage of current web page?
    How to change data in current page?
    How to implement different functions of JavaScript as we do very easily for our web page?
    Content.js Background.js working of other parts.

    • @robinbeaudru6892
      @robinbeaudru6892 3 роки тому

      Check Google Chrome Documentations but you can declare ContentScript and BackgroundScript into the manifest.json. I don’t know if the location of the file is important as you can declare the path into the manifest.

    • @robinbeaudru6892
      @robinbeaudru6892 3 роки тому

      Ok my bad, go to 7:06!!

  • @mikeguoynes2493
    @mikeguoynes2493 3 роки тому +1

    If you run into any issue with [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default, then upgrade your node version. I installed nvm and upgraded to 14

  • @robinbeaudru6892
    @robinbeaudru6892 3 роки тому +1

    Hey, thank you for the video, but could you explain how to integrate ContentScript and BackgroundScript ? It is pointless without it!

  • @almogidisis274
    @almogidisis274 2 роки тому +2

    Wow. I really never wanted it to end, well done!

  • @aswathyraj1414
    @aswathyraj1414 3 роки тому +1

    can you please provide the link to open the extension in a new tab during dev
    ? its not working on mine

  • @codekhalipha7759
    @codekhalipha7759 2 роки тому

    How can we add content_script so we ca interact with web page
    Thanks for this great tutorial

  • @registercheck
    @registercheck Рік тому

    thanks a lot! very helpful

  • @vivekranjan437
    @vivekranjan437 3 роки тому +1

    thanks for this tutorial

  • @tommymaher4166
    @tommymaher4166 3 роки тому +1

    This is awesome.
    Would love to see some stuff surrounding fetching data from source has I'm having some trouble finding material to do this with mv2 on react for some reason.

    • @tommymaher4166
      @tommymaher4166 3 роки тому

      @@codifytools Turns out this is a bit tricker than I've thought but I'll most likely add what I've learned here so someone else can see.

  • @CheesiestStick
    @CheesiestStick Рік тому +1

    I think I did something wrong, whenever I open a new tab, instead of the new tab itself, my extension page opens with the following error,
    "Your file couldn't be accessed It may have been moved, edited, or deleted. ERR_FILE_NOT_FOUND"...
    anyone else with this problem?

  • @tylerdurden9676
    @tylerdurden9676 3 роки тому +1

    I just skimmed through this. Does this include hot reloading, or do I have to manually reload the extension?
    You should make the text editor font bigger when you are recording videos.

  • @wadhahag8053
    @wadhahag8053 2 роки тому

    thank you for your time and consideration great video

  • @lucasmendonca2197
    @lucasmendonca2197 3 роки тому +1

    Hi, great video!
    One thing that would also be useful is to configure hot reloading, so we don't need to click the update button at chrome://extensions after every file changes. Is this possible with chrome extensions?

  • @hubertryan
    @hubertryan 2 роки тому +1

    YOU ARE DA BEST

  • @alinazari4131
    @alinazari4131 3 роки тому +1

    Thank you for an awesome video! I had some issues with my build command in package.json and had to add the following: "export NODE_OPTIONS=--openssl-legacy-provider;" so it looked like this: "build": "export NODE_OPTIONS=--openssl-legacy-provider; webpack --config webpack.prod.js". I did the same for my "dev" script. Looks like it's an issue with the latest version of Node. Hope this helps anyone who comes across this error when running npm run build command.

  • @ThiwankaKasun
    @ThiwankaKasun Рік тому +1

    nice video

  • @DokebiAgent
    @DokebiAgent Рік тому

    Thank you very much !!!

  • @iiarahere
    @iiarahere 2 роки тому

    Hi, thank you so much for this video! I'm trying to link an external CSS stylesheet to the jsx file but it doesn't seem to work, is there a way to do this and have the webpack configure the creation of the stylesheet and the import?

  • @aymenmaamri2459
    @aymenmaamri2459 3 роки тому +1

    hello everyone, i am currently working on an extension and i want to build the user interface of the extension in a modal/popup window that the user can move across the page and don't lose focus when the user clicks elsewhere

  • @churraskindequeijo8418
    @churraskindequeijo8418 2 роки тому

    Thank you very much sir

  • @sunilharak7645
    @sunilharak7645 Рік тому

    I'm getting error :Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'".

  • @Антошана
    @Антошана Рік тому

    beautiful

  • @binodchaudhary17
    @binodchaudhary17 Рік тому

    Greate tutorial! I tried to inject content script to gmail inbox but get an error => Uncaught Error: createRoot(...): Target container is not a DOM element. any solution?

  • @madmaxhasan
    @madmaxhasan Рік тому

    Can you share what extension you use in vs code? The hint they provide is fantastic.

  • @navuyi3243
    @navuyi3243 2 роки тому

    Is there a way to write unit tests using Jest or something similiar???

    • @navuyi3243
      @navuyi3243 2 роки тому

      @@codifytools I encountered several problems with jest and similiar frameworks. It throws errors with inability to use import/require outside a module, cant get it working

  • @donmikkodanm.olmillo8154
    @donmikkodanm.olmillo8154 2 роки тому

    Hi, I love your video and tutorial, would love to ask what's your extension on 4:00 where it is automatically filled up? thank you

    • @donmikkodanm.olmillo8154
      @donmikkodanm.olmillo8154 2 роки тому

      @@codifytools Thank you so much for the responsive reply, I was gonna guess it's copilot but many devs are fighting whether it's great or not. Anyways I love your videos, hopefully you can make a series for beginners like me

    • @donmikkodanm.olmillo8154
      @donmikkodanm.olmillo8154 2 роки тому

      @@codifytools Thank you!

  • @pavanobhan1105
    @pavanobhan1105 2 роки тому

    I want to be able to scrape html tables and download csv using chrome extensions, how do I develop that? I followed ur tutorial till here. I have an interview on same, please reply

    • @pavanobhan1105
      @pavanobhan1105 2 роки тому

      @@codifytools I am able to do it in Node JS, but I’m unable to integrate node js with extension

  • @JeetPaul
    @JeetPaul Рік тому

    I don't think HMR is supported here, can we trick it?

    • @JeetPaul
      @JeetPaul Рік тому

      @@codifytools I tried it in many way, seems like rract refresh thinks it is as production environment and doesn't estabilish the ws connection 🤔
      Maybe I'm wrong

  • @mariomsumi822
    @mariomsumi822 2 роки тому

    Amazing.

  • @fareedezzedeen8017
    @fareedezzedeen8017 2 роки тому

    I prefer quasar with vuejs bex
    Greate ui components, utls, and services

  • @koaladlt
    @koaladlt 2 роки тому

    Hey there! Thanks a lot for this video. I'm having an issue and it's happening after dev and prod webpack setup.
    After running npm run build or dev, I'm having this error:
    Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.
    - configuration.node should be one of these:
    false | object { __dirname?, __filename?, global? }
    -> Include polyfills or mocks for various node stuff.
    if you have an answer, it'll be great.
    Thanks a lot!

    • @koaladlt
      @koaladlt 2 роки тому

      @@codifytools You would not believe this, I was typing "node" instead of "mode" all the time 😂
      Everything's working great, thanks a lot for this video!

    • @02_kdz
      @02_kdz Рік тому

      @@koaladlt I was doing the exact same thing lol. thanks!

    • @koaladlt
      @koaladlt Рік тому

      @@02_kdz Things happens lol!

  • @juksaaapersin
    @juksaaapersin 2 роки тому

    I appreciate your effort but you forgot to mention an important step like configuring multiple entry points for content scripts.
    Also, if someone adds another entry point to this config, their entire JS will be bundled and linked with their popup.html (it must be configured in HtmlWebpackPlugin object with chunks). Also, stuff like css/sass, imgs, etc.
    I think that would be an important thing to mention if you already showed this entire process.
    Just a tip for your future videos. Cheers.

    • @juksaaapersin
      @juksaaapersin 2 роки тому

      @@codifytools Great man! Just a little constructive criticism, I am glad you understand. Looking forward to the video!

    • @kaartiknagarajan5009
      @kaartiknagarajan5009 2 роки тому

      @@codifytools Hey thank you so much for this video. Any updates on the video series?

    • @kaartiknagarajan5009
      @kaartiknagarajan5009 2 роки тому

      @@codifytools Got it, super content! Hope production goes well as this tutorial was incredible and I'm sure your series will help a lot of people!

  • @user-pk1nw1is6c
    @user-pk1nw1is6c 2 роки тому

    Super!

  • @ipdmartins
    @ipdmartins Рік тому

    Excelent.

  • @rude_boyie
    @rude_boyie 8 місяців тому

    Broh you do you only have one video of coding put out more

  • @Akkihearts007
    @Akkihearts007 2 роки тому

    Source please

  • @fareedezzedeen8017
    @fareedezzedeen8017 2 роки тому +1

    Try to use a larger font size, please.
    57+ years old developer

  • @athipsirisawetkunwong4658
    @athipsirisawetkunwong4658 2 роки тому

    ผมรันไม่ได้ครับพี่ชาย

  • @aliraza.r10
    @aliraza.r10 2 роки тому +2

    Hi, you are awesome, this video help me a lot thank you.
    just had issue in 9:30 that I solved.
    { test: /\.(sj|jsx)$/, } did not worked for me when the file is ( .js ), But when I changed it to { test: /\.js$|jsx/, } it was working.

    • @symbol767
      @symbol767 2 роки тому +1

      THANK YOU! I was wondering why my code wasn't working, this fixed it!

    • @aliraza.r10
      @aliraza.r10 2 роки тому

      @@symbol767 😊😉

  • @randomapperatus3773
    @randomapperatus3773 Рік тому

    Seems like there should be a way to do this with far less steps in the world of "productivity".