Vue creator Evan You’s recent conference keynote didn’t mention much about new features for Vue, instead he focused almost entirely on Vue CLI 3.
A CLI tool is a mere utility that doesn’t directly add any features to your Vue apps, so why the fuss?
The astonishing rise of Vue’s popularity over the past year has highlighted what developers really care about in a framework: performance, flexibility, and ease of use.
As you’ll see, Vue CLI 3 is a major leap forward in both flexibility and ease of use. It provides your Vue project with instant access to the best build tools from the frontend world, combining them seamlessly with sensible defaults. At the same time, it allows easy configuration and customization to fit your specific needs.
To achieve this, Vue CLI 3 has adopted a new plugin-based architecture, departing from the template-based architecture of versions 1 and 2. Under this new architecture, project configuration is siloed in independent plugins i.e. one for TypeScript, one for ESLint etc.
Here are some things you’ll love about Vue CLI 3:
- No lock in, as plugins can be added at any point in the development lifecycle
- Zero config plugins allow you to spend time developing rather than configuring
- Easy to upgrade, as configuration can be customized without “ejecting”
- Allows developers to make their own plugins and presets
Last but not least, Vue CLI 3 takes you from a blank canvas to a running server really fast, allowing you to prototype a project with nothing more than a single .vue file.
The base configuration for a Vue CLI 3 project is bare-bones Webpack and Babel. All the additional features can be added via plugins, which enhance the project configuration in one or more of the following ways: