Migrate to Standalone Components using the Angular CLI

Поделиться
HTML-код
  • Опубликовано: 30 ноя 2024

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

  • @thomasfisher1829
    @thomasfisher1829 9 месяцев назад +1

    Really appreciate the breakdowns of what all of the scripts do. It made debugging dependencies much easier when a couple were missed

  • @pascalbigras9102
    @pascalbigras9102 9 месяцев назад +1

    Wow, that must be the best Angular traditional to standalone video I've found. I've searched so much before finding your videos. Thank you a lot!

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

    One of the best channels about angular) I don't tired repeat it :)) Thank you !

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

    Thank you, I recently found your channel and now I can not stop going through each videos

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

      Welcome! Hope you are finding them to be useful. 😊

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

    Awesome video Deboroah, very thorough. Thanks!

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

    Thanks Deborah, as always great job. The question I always ask at this point is: does upgrading to standalone affect performance or build size?

    • @deborah_kurata
      @deborah_kurata  Год назад +6

      Thank you for watching.
      Without the extra code in the NgModules, your total build size may be slightly smaller. But it mostly affects the size of the individual chucks.
      If you migrate to standalone and leverage lazy loading, then you can potentially end up with much smaller bundles which are faster to load. So you could see a faster initial load time. And if you use component-level lazy loading, the bundle will be smaller and load more quickly when the user accesses that particular feature.

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

    Great video, Deborah. Thank you for it.

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

    I got the theory, now I'm off to try the practical. Thanks and great job 👍

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

      Have fun and good luck!

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

      @@deborah_kurata I did and it worked as described. This will be a demo at my work (to get conversations going). Thanks, I appreciate the explanations. Subscribed 👍

  • @mdotlic
    @mdotlic 2 месяца назад

    Great video, like always! I tried this migration process, but the first step doesn't change anything for some reason. I'm using Angular 17 (I deliberately didn't use standalone components because I wasn't familiar with them, but now I want to switch). I have the app module, a shared module and 2 other modules for 2 routes. I'm out of ideas of what could the issue be

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

    excellent video! thank you! would you consider some videos on Cypress for Angular E2E testing?

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

      Thank you for watching! And for the suggestion. I'll add it to my list for future videos.

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

    great and easy explanation, thank you :).

  • @chandankumar-ul5to
    @chandankumar-ul5to Месяц назад

    I have a module with multiple components. How can I convert them into standalone components? Should I do this manually or can Angular CLI ?

    • @deborah_kurata
      @deborah_kurata  Месяц назад +1

      You can definitely try the migration tools provided with the CLI and see if they work for you.

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

    Thank you 🙏. What's your take on starting a dashboard project for a mobile app purely standalone instead of app module? My initial plan was to use app module to organize by features then standalone components for reusable components , (eg buttons, modals etc.), directives, guards, pipes etc. Thank you.

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

      Yes, at this point I would be comfortable doing an Angular application that is purely standalone.
      Here is a good discussion (be sure to read the comments along with the answer): stackoverflow.com/questions/74558393/when-to-use-standalone-components-or-modules-in-angular-14

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

      @@deborah_kurata Thank you, I appreciate

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

    I am building a core component library, I want to understand how can I export the standalone components so it can be imported by stakeholder apps.

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

      The docs have a special section for library authors. Check it out here: angular.io/guide/standalone-components#standalone-components-for-library-authors
      Let me know if that was helpful.

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

    Th great explanation mam .. great 👍👍👍👍

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

    This is very helpful.
    I am trying to migrate commons folder(this is created in my project to add all reusable components), I am not able to run migration on this folder.
    Could you show how to migrate individual folders

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

      Are you seeing an error? Or did it just not do anything?
      The documentation provides a list of "common problems" here: angular.io/guide/standalone-migration#common-problems Would any of that help?

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

      @@deborah_kurata I figured it out. I did this to navigate ./src/app/commons. Initially I didn't add ./ before path. Thank You.

  • @jabezstephen.j4742
    @jabezstephen.j4742 Год назад +2

    How to use lazy load in standalone

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

      Great suggestion! I'm hoping to do this soon!

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

    What for Standalone Component mode ? What it gives ? What it takes?

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

      One of the primary drivers for standalone components was to make it easier to learn Angular. There is then no need to learn about and use NgModules.
      For those that already know Angular, they can still simplify the code, again because you don't need NgModules. Everything that a component needs is defined within the component. It also allows for component-based lazy loading.
      Have you seen this video ... it provides more of an introduction. ruclips.net/video/c8YGsPx0zVk/видео.html

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

      ​@@deborah_kurataNice answer! i thought it was made for smaller app size.

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

      @@deborah_kurata i ve seen that video. But it doesnt answer straight to the question "what for standalone components was made?"

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

      With standalone components:
      - Easier learning for new developers (don't need to learn about NgModule)
      - Code is easier to read because everything you need to know about a component and what other features it needs is in one place, not dispersed and intermixed in an NgModule.
      - Components are more "stand alone" (encapsulated) and can more readily be reused without worrying about adding their features to an NgModule
      - Standalone components are better "tree-shakable", so Angular will only load the components that are actually used in your application.
      - Easier component-based lazy loading. (Now you can easily lazy load at a component level, instead of a route)

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

    Thanks!

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

    It was helpful

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

    All this is nice but little bit too late in the game. I give angular two more years before it's going to disappear in the space like angularjs did

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

      What signs are you seeing that leads you to that?
      As far as I have seen, the Angular team is working to keep moving Angular forward without having to rebuild from scratch (like they did to move from AngularJS to Angular). And with the ng update it makes it easier to keep your team moving forward as well.

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

      As a developer that has actively been working with Angular applications in the business for 7+ years, it just keeps picking up in speed. At this rate, there's more angular apps that I need to develop than what I have time.

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

    Where do you find docs like `ng g @angular/core:standalone` never knew that existed

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

      The Angular team posts a "what's new in Angular version X" to their blog. You can find the one for V16 (that includes this command) here: blog.angular.io/angular-v16-is-here-4d7a28ec680d

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

      @@deborah_kurata ok thanks, why do al examples use only primitive values? Is it bad practice for a complex object? If you had a state model in the signal you wouldn't have the problem of unmmutable signal in the video

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

      @@bdcp You can use complex objects. In several of my examples I use complex objects:
      vehicles = toSignal(this.vehicles$, {initialValue: [] as Vehicle[]});
      selectedVehicle = signal(undefined);
      Is that what you mean?

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

      @deborah_kurata almost! I mean for example if you comebine them into a single model like:
      Interface vehiclesState{
      vehicles: Vehicle[]
      selectedVehicle: Vehicle
      }
      Vehiclestate = signal({..})
      Then you can mutate vehicles list no? I wrote this on mobile hope the format stayd

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

      @@bdcp Using the signal creation function creates a writeable signal. So yes, you would be able to mutate the signal content. But you still need a way to get the data from an HTTP get request (ie an Observable) into that signal.
      The down side of putting both vehicles and selectedVehicle in one signal is that the vehicles will then be told they are "changed" and redrawn if the selectedVehicle changes because only the one signal is tracked for changes to any of its properties.