You DON'T NEED Dotenv to Handle Environment Variables in Node.js Anymore!

Поделиться
HTML-код
  • Опубликовано: 29 сен 2024
  • Node 20.6.0 now has a built-in feature for incorporating environment variables without having to install an external package like dotenv.
    Astro Course - astrocourse.dev/
    *DISCORD*
    Join the Learn Build Teach Discord Server 💬 - / discord
    *STAY IN TOUCH 👋*
    Newsletter 🗞 - www.jamesqquic...
    Follow me on Twitter 🐦 - / jamesqquick
    Check out the Podcast - compressed.fm/
    Courses - jamesqquick.co...
    *QUESTIONS ABOUT MY SETUP*
    Check out my Uses page for my VS Code setup, what recording equipment I use, etc. www.jamesqquic...

Комментарии • 49

  • @FireGames25
    @FireGames25 Год назад +19

    No need for nodemon, no need for dotenv... keeps getting better >:D

    • @0x007A
      @0x007A Год назад +3

      I learned about node --watch last week when I was looking for an alternative to nodemon.

    • @cranberry888
      @cranberry888 Год назад

      ​@@0x007Areally? oh my... is it better in all ways than nodemon?

    • @AnassSanba-f5d
      @AnassSanba-f5d Год назад

      not really lol , that's just small changes nothing impressive

    • @senthilmurugangsm
      @senthilmurugangsm 6 месяцев назад

      oh.. really? nice!. can you pls help to share that video or reference link. thanks

  • @losVamonos
    @losVamonos 9 месяцев назад

    Will an api key be exposed on the frontend using this method?

    • @JamesQQuick
      @JamesQQuick  9 месяцев назад

      Well, this concept is used for running locally. In production, you'd save API keys in environment variabels in your hosting provider which is safe.

    • @losVamonos
      @losVamonos 9 месяцев назад

      Saving environment variables and getting them to work is fairly easy on Netlify but not so easy on cheaper hosting platforms that use cPanel with the Node.js web application feature. This feature allows you to store environment variables. I'm still new to this but haven't had success getting it to work. I think a video on that would be very helpful. @@JamesQQuick

  • @michaelxaviercanonizado7931
    @michaelxaviercanonizado7931 3 месяца назад +1

    Thanks really helped! It also works with tsx when running a typescript file as a script in NextJS. Just add the same command: "tsx --env-file .env.local ${file path}"

  • @everyhandletaken
    @everyhandletaken Год назад +1

    Still surprises me that this was not in Node since v1, but still, good to finally have it.
    Kinda wondering why the default behaviour isn't to pick up .env & the flag is only required if you want to using another filename.. i.e that is what dotenv has been doing all these years (though, I actually prefer env-var package, mostly)

  • @nitishsingh925
    @nitishsingh925 11 месяцев назад +3

    vary help full video now i am using like that in package.json file
    "scripts": {
    "start": " nodemon --env-file .env ./index.js"
    },
    any more way to do this then replay me any one 🙋‍♂🙋‍♂

    • @twitchizle
      @twitchizle 8 месяцев назад

      You dont need nodemon. Node has watch feature now

  • @shubhampatil5935
    @shubhampatil5935 5 месяцев назад

    Use typescript. You will realize why dotenv is needed. Make videos if you have proven solution for all usecases, instead of just gaining attraction.

  • @Jajatar
    @Jajatar 6 месяцев назад

    This is great thanks! Question I don’t use .env file locally, I add whatever variable I need in windows environment variables (for security reasons, don’t want to commit api keys or whatever by mistake) and simply call them in my apps using dotenv (process.env.someVariable). Is there a way to access these with some other flag such as the one you showed -env-file .env ? Thanks again for video

  • @powertester5596
    @powertester5596 8 месяцев назад

    A question: This works from command line (and thus in CI) but if I want to run a piece of code (say tests) from an IDE (such as VSCode), what would be required to load the env variables?

  • @booi_mangang
    @booi_mangang 3 месяца назад

    If you are using ts, you would use ts-node. But I don't think ts-node support --watch or --watch-path

  • @otakugamingyt
    @otakugamingyt 7 месяцев назад

    Still going to stick onto dotenv unless env files can be mentioned in package.json to load envs

  • @krtirtho
    @krtirtho Год назад +8

    Just replace everything with Bun

    • @samuelfalci
      @samuelfalci 8 месяцев назад

      @krtirtho show me a system writed in bun with milions of requests and users that handles tons of data, running in a production environment and qe start talking! Benchmark tests are not enough to replace a consolidated language to another one.

  • @PeterVatler-hv6nf
    @PeterVatler-hv6nf 8 месяцев назад

    Thank you for the tip! I used NVM but it always messed up the packages when I wanted to update the versions. I started using scoop package manager which is awesome, you can use as many node version as you want, it handles their packages very well, it's really easy to update the versions. At work I use 18, 20 LTS and the latest 21. I ended up installing other developer tools like Git by scoop because it's much more easier to update than using a windows installer.

  • @Cap10Chunks
    @Cap10Chunks 8 месяцев назад

    Definitely going to ditch dotenv now. Have you tried out Remix?

  • @adarshchakraborty
    @adarshchakraborty Год назад +1

    Can anyone tell me which theme & font is that

    • @JamesQQuick
      @JamesQQuick  Год назад

      "James Q Quick" theme and Cascadia Code font :)

  • @amadikesullivan2962
    @amadikesullivan2962 Год назад

    I have a question. Looking at the folder structure, the .env is inside the the src folder with index.js. When you using the terminal to load the dotevn, is it absolute to write the file that needs the environment variables it in each case ? Or is something to be loaded once and the whole app starts using it ?

  • @christopheanfry2425
    @christopheanfry2425 Год назад

    Thank you very useful also the nvm part as I was struggling between my node version with yarn it was always selecting the last one which I didn’t want. Thank you very good features 👍

  • @JohnMcclaned
    @JohnMcclaned 9 месяцев назад

    That cursor flashing animation is wild

  • @babyboie20
    @babyboie20 Год назад

    Volta is also a really good nvm alternative.

  • @ThomazMartinez
    @ThomazMartinez Год назад +1

    To long and feels overlay complicated explanation about this

    • @JamesQQuick
      @JamesQQuick  Год назад

      Thanks for the feedback. What would you change?

    • @omomer3506
      @omomer3506 Год назад +2

      ​@JamesQQuick its perfectly fine, short and concise, showing a caveat that you ran into, i wouldn't change a thing

    • @ThomazMartinez
      @ThomazMartinez Год назад

      @@omomer3506 not short thats the point

  • @neurabrain
    @neurabrain 10 месяцев назад

    what is a font in vscode?

  • @polioann
    @polioann Год назад

    whaat

  • @rayusaki88
    @rayusaki88 Год назад

    Thanks James for this tip 👍🏻👍🏻

  • @111ramico
    @111ramico 6 месяцев назад

    NVM ls

  • @haiderjaafer8164
    @haiderjaafer8164 Год назад

    Is working in react front-end

  • @surendramaran
    @surendramaran 11 месяцев назад

    not sure how can the production code will read the environment

    • @JamesQQuick
      @JamesQQuick  11 месяцев назад

      What do you mean?

    • @surendramaran
      @surendramaran 11 месяцев назад

      @@JamesQQuick I deploy my code at Azure web apps, and I declare my environment variables in the web app, I don't upload any .env file just the dotenv package read the environments automatically. I am not sure whether it will work there or not

    • @surendramaran
      @surendramaran 11 месяцев назад

      @@JamesQQuick I checked everything and now I just want to clear out that I didn't know that I don't need dotenv package if I already setup the environments variables on the cloud, so yeah now I can use what you told in the video easily. Thanks

    • @JamesQQuick
      @JamesQQuick  11 месяцев назад

      Yeah so your hosting provider should take care of environment variables when it's deployed. No need to send a .env file along!@@surendramaran

  • @egwuted2398
    @egwuted2398 Год назад +4

    How does your command prompt suggest stuff?

    • @hrushikeshvibhute4639
      @hrushikeshvibhute4639 Год назад

      They are not suggestions, they are previously used commands

    • @egwuted2398
      @egwuted2398 Год назад

      @@hrushikeshvibhute4639 they were suggestions not previous commands
      and I just got it working.
      you can check this out if you want to do it too
      ruclips.net/video/ZhFFs5ltNDs/видео.html

  • @melodium10
    @melodium10 Год назад +1

    me who uses data.json file to handle data in my nodejs projekt😐

    • @samuelluc132
      @samuelluc132 Год назад +1

      Environment variables have a different use case. They're for private data such as database passwords that you don't want to upload to GitHub by mistake.

    • @melodium10
      @melodium10 Год назад +1

      @@samuelluc132 we can .gitignore it right?