vue-cli 3.0 初体验
vue-cli 是 vue 官方团队推出的一款快速开发 vue 项目的构建工具,具有开箱即用并且提供简洁的自定义配置等功能。 vue-cli 从 2.0 到 3.0 的升级有太多的新东西可以说了,但是不可能在本文中列举所有的内容,这篇文章作为一个对比 2.0 升级功能的导读,让你快速了解 3.0 更新的内容。
一.创建项目:
创建项目命令的变化。
1 | vue create my-project |
3.0 版本包括默认预设配置 和 用户自定义配置。
自定义功能配置包括以下功能:
- TypeScript
- Progressive Web App (PWA) Support
- Router
- Vuex
- CSS Pre-processors
- Linter / Formatter
- Unit Testing
- E2E Testing
可以注意到 3.0 版本直接新加入了 TypeScript 以及 PWA 的支持。
在选择 CSS 预处理后会提示选择哪一种预处理器:
- SCSS/SASS
- LESS
- Stylus
以及 eslint 规范的选择:
- ESLint with error prevention only
- ESLint + Airbnb config
- ESLint + Standard config
- ESLint + Prettier
最后选择 Babel, PostCSS, ESLint 等自定义配置的存放位置:
-In dedicated config files
- In package.json
选择好后,可以把以上配置存储为预设值,以后通过 vue-cli 创建的其他项目将都采用刚才的配置。
二. 项目目录结构变化:
我们对比发现 vue-cli 3.0 默认项目目录相比 2.0 来说精简了很多。
- 移除了配置文件目录, config 和 build 文件夹。
- 移除了 static 文件夹,新增 public 文件夹,并且 index.html 移动到 public 中。
- 在 src 文件夹中新增了 views 文件夹,用于分类 视图组件 和 公共组件。
vue-cli 3.0 到底有多简洁呢? 下面我们一起来看下目录结构
下面是我删除了 node_modules
文件夹后的目录结构
1 | ├── babel.config.js |
三.移除了配置文件目录后如何自定义配置。
在 vue-cli 3.0 中的配置统一在 vue.config.js 自定义
这里列出来所有可用的选项及其默认值 (所有的选项都不是必选项):
1 | module.exports = { |
调整 webpack 配置最简单的方式就是在 vue.config.js 中的 configureWebpack 选项提供一个对象,该对象将会被 webpack-merge 合并入最终的 webpack 配置。
示例代码:配置 webpack 新增一个插件。
1 | // vue.config.js |
修改插件选项的参数你需要熟悉 webpack-chain 的 API 并阅读一些源码以便了解如何权衡这个选项的全部配置项,但是它给了你比直接修改 webpack 配置中的值更灵活且安全的方式。
1 | // vue.config.js |