Vue CLI Manually select features

1,542 阅读5分钟

使用 Vue CLI 创建项目时,如何使用 Manually select features(手动选择特性) 选项?

赶时间的同学,请看 完整配置;需要了解每个选项的同学,请看 分解动作

完整配置

注意,这份 “完整配置”,是根据我个人习惯设置的,不一定适合所有人!尤其在 Check the features needed for your project 步骤时,应根据个人实际和项目情况进行选择!

image.png

分解动作

1. 请选择一个预设选项

image.png

  • default (babel, eslint) :默认设置
  • Manually select features:手动设置

2. 选择你的项目所需要的功能

image.png

  • Babel
    • 用于将 ECMAScript 2015+ 代码转换为 JavaScript 向后兼容版本的代码。
    • 查看 Babel 文档
  • TypeScript
    • JavaScript 类型的超集,可以编译成纯 JavaScript。
    • TypeScript 手册指南
    • 选了这个选项,后续会有步骤让你选择与 TypeScript 相关的配置。
  • Progressive Web App (PWA) Support
  • Router
  • Vuex
    • Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式
    • 查看 Vuex 文档
  • CSS Pre-processors
    • CSS 预处理器,选了这个选项,后续会有步骤让你选择具体的 CSS 预处理器 (Sass/Scss、Less 等)。
  • Linter / Formatter
    • 在开发中我们需要一种能够统一团队代码风格的工具,作为强制性的规范,统一整个项目的代码风格。
    • 选择这个选项,后续会有步骤选择具体的工具 (ESLint with error prevention only、ESLint + Prettier 等)。
  • Unit Testing
    • 单元测试工具
  • E2E Testing
    • E2E,是 “End to End” 的缩写,可以翻译成 “端到端” 测试。它模仿用户,从某个入口开始,逐步执行操作,直到完成某项工作。与单元测试不同,后者通常需要测试参数、参数类型、参数值、参数数量、返回值、抛出错误等,目的在于保证特定函数能够在任何情况下都稳定可靠完成工作。单元测试假定只要所有函数都正常工作,那么整个产品就能正常工作。
    • 相对来说,E2E 测试并没有那么强调要覆盖全部使用场景,它关注的是 一个完整的操作链是否能够完成。对于 Web 前端来说,还关注 界面布局、内容信息是否符合预期
    • 比如,登陆界面的 E2E 测试,关注用户是否能够正常输入,正常登录;登陆失败的话,是否能够正确显示错误信息。至于输入不合法的内容是否处理,没有很大的关系。
    • 参考文章:关于 E2E 测试

3. 是否使用 class 风格的组件语法

注意:第 2 步选了 TypeScript 才有这个选项。

image.png

4. 是否使用 Babel 工具自动为转换后的 TypeScript 代码注入 polyfiills

注意:第 2 步选了 TypeScript 才有这个选项。

image.png

5. 路由是否使用 history 模式

注意:第 2 步选了 Router 才有这个选项。

image.png

6. 选择 CSS 预处理器

注意:第 2 步选了 CSS Pre-processors 才有这个选项。

image.png

  • Sass/SCSS (with dart-sass) 
  • Sass/SCSS (with node-sass) 
    • Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量、嵌套、混合、导入等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库(如 Compass)有助于更好地组织管理样式文件,以及更高效地开发项目。
    • node-sass 是自动实时编译的,dart-sass 需要保存后才会生效。
    • Sass 官方目前主力推 dart-sass,最新的特性都会在这个上面先实现。推荐安装 dart-sass,node-sass 因为国情问题经常装不上。
    • Sass 官网
  • Less
    • Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展。
    • Less 官网
  • Stylus
    • 富于表现力的、动态的、健壮的 CSS。
    • stylus 官网

7. 选择一个格式校验方式

注意:第 2 步选了 Linter / Formatter 才有这个选项。

image.png

8. 选择在什么时候校验格式

注意:第 2 步选了 Linter / Formatter 才有这个选项。

image.png

  • Lint on save:保存时校验
  • Lint and fix on commit:提交时校验

9. 选择单元测试解决方案

注意:第 2 步选了 Unit Testing 才有这个选项。

image.png

10. 询问项目的配置文件存放在哪儿

image.png

  • In dedicated config files :独立文件,推荐选择
  • In package.json :选择 package.json 在后续配置 postcss 适配时存在问题(未待考证)

11. 是否将当前配置作为一个模板

image.png

  • 每个项目可能需要不同的配置,应该具体情况具体分析,而不应该为将来的项目都使用同一个模板