Need advice about which tool to choose?Ask the StackShare community!

Angular CLI

897
740
+ 1
0
Webpack

39.9K
27K
+ 1
752
Add tool

Angular CLI vs Webpack: What are the differences?

Key Differences between Angular CLI and Webpack

Angular CLI and Webpack are both popular tools used by web developers to streamline and enhance their development process. While they have overlapping functionalities, there are a few key differences between the two.

  1. Structure and Convention: Angular CLI follows a strict project structure and enforces conventions for organizing files, while Webpack provides more flexibility and allows developers to customize the project structure according to their preferences.

  2. Configuration Complexity: Angular CLI abstracts the configuration process and provides a simplified command-line interface, making it easier for developers to set up and configure their projects. On the other hand, Webpack requires manual configuration through a dedicated configuration file, which can be more complex and time-consuming.

  3. Development Server: Angular CLI includes a built-in development server that allows developers to easily run and test their applications during the development process. Webpack, by itself, does not include a development server and requires additional setup to run the application locally.

  4. Loaders and Plugins: Webpack provides a wide range of loaders and plugins that enable developers to customize the build and bundle process extensively. Angular CLI, on the other hand, abstracts this complexity and provides preconfigured loaders and plugins, simplifying the development experience.

  5. Build Optimization: Angular CLI optimizes the build process by automatically splitting the code into smaller chunks and generating a production-ready bundle. Webpack, while capable of achieving similar optimization, requires manual configuration to achieve the same level of optimization.

  6. Project Generation: Angular CLI provides a scaffolding feature that allows developers to quickly generate the basic files and folder structure for an Angular project. This feature is not available in Webpack and developers have to set up the project structure manually.

In summary, Angular CLI focuses on providing a straightforward and opinionated development experience with a structured project setup, while Webpack offers more flexibility and customization options at the cost of added complexity in configuration.

Decisions about Angular CLI and Webpack
Aleksandr Filatov
Contract Software Engineer - Microsoft · | 4 upvotes · 280.2K views
Why migrated?

I could define the next points why we have to migrate:

  • Decrease build time of our application. (It was the main cause).
  • Also jspm install takes much more time than npm install.
  • Many config files for SystemJS and JSPM. For Webpack you can use just one main config file, and you can use some separate config files for specific builds using inheritance and merge them.
See more

We mostly use rollup to publish package onto NPM. For most all other use cases, we use the Meteor build tool (probably 99% of the time) for publishing packages. If you're using Node on FHIR you probably won't need to know rollup, unless you are somehow working on helping us publish front end user interface components using FHIR. That being said, we have been migrating away from Atmosphere package manager towards NPM. As we continue to migrate away, we may publish other NPM packages using rollup.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Angular CLI
Pros of Webpack
    Be the first to leave a pro
    • 309
      Most powerful bundler
    • 182
      Built-in dev server with livereload
    • 142
      Can handle all types of assets
    • 87
      Easy configuration
    • 22
      Laravel-mix
    • 4
      Overengineered, Underdeveloped
    • 2
      Makes it easy to bundle static assets
    • 2
      Webpack-Encore
    • 1
      Redundant
    • 1
      Better support in Browser Dev-Tools

    Sign up to add or upvote prosMake informed product decisions

    Cons of Angular CLI
    Cons of Webpack
      Be the first to leave a con
      • 15
        Hard to configure
      • 5
        No clear direction
      • 2
        Spaghetti-Code out of the box
      • 2
        SystemJS integration is quite lackluster
      • 2
        Loader architecture is quite a mess (unreliable/buggy)
      • 2
        Fire and Forget mentality of Core-Developers

      Sign up to add or upvote consMake informed product decisions

      What is Angular CLI?

      A command-line interface tool that you use to initialize, develop, scaffold, and maintain Angular applications. You can use the tool directly in a command shell, or indirectly through an interactive UI such as Angular Console.

      What is Webpack?

      A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders" modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Angular CLI?
      What companies use Webpack?
      See which teams inside your own company are using Angular CLI or Webpack.
      Sign up for StackShare EnterpriseLearn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Angular CLI?
      What tools integrate with Webpack?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      What are some alternatives to Angular CLI and Webpack?
      AngularJS
      AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.
      Angular
      It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop web applications.
      npm
      npm is the command-line interface to the npm ecosystem. It is battle-tested, surprisingly flexible, and used by hundreds of thousands of JavaScript developers every day.
      React
      Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
      gulp
      Build system automating tasks: minification and copying of all JavaScript files, static images. More capable of watching files to automatically rerun the task when a file changes.
      See all alternatives