vue cli 教你快速搭建一个vue项目

382 阅读5分钟

vue cli 脚手架

介绍

vue cli是一个脚手架,用于快速搭建一个vue项目并且配置好使用的插件等,核心是基于插件等插件化架构

  • 通过 @vue/cli 实现的交互式的项目脚手架。

  • 通过 @vue/cli + @vue/cli-service-global 实现的零配置原型开发。

  • 一个运行时依赖 (@vue/cli-service),该依赖:

    • 可升级;
    • 基于 webpack 构建,并带有合理的默认配置;
    • 可以通过项目内的配置文件进行配置;
    • 可以通过插件进行扩展。
  • 一个丰富的官方插件集合,集成了前端生态中最好的工具。

  • 一套完全图形化的创建和管理 Vue.js 项目的用户界面 Vue CLI 致力于将 Vue 生态中的工具基础标准化。它确保了各种构建工具能够基于智能的默认配置即可平稳衔接,这样你可以专注在撰写应用上,而不必花好几天去纠结配置的问题。与此同时,它也为每个工具提供了调整配置的灵活性,无需 eject

系统组件

vue cli 包含几个独立的部分,这部分内容在源码中可以体现出来,后续会写一篇其源码的研究文章

CLI

CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令。它可以通过 vue create 快速搭建一个新项目,或者直接通过 vue serve 构建新想法的原型。你也可以通过 vue ui 通过一套图形化界面管理你的所有项目

CLI服务

CLI 服务 (@vue/cli-service) 是一个开发环境依赖。它是一个 npm 包,局部安装在每个 @vue/cli 创建的项目中。

CLI 服务是构建于 webpack 和 webpack-dev-server 之上的。它包含了:

  • 加载其它 CLI 插件的核心服务;
  • 一个针对绝大部分应用优化过的内部的 webpack 配置;
  • 项目内部的 vue-cli-service 命令,提供 servebuild 和 inspect 命令

CLI插件

CLI 插件是向你的 Vue 项目提供可选功能的 npm 包,例如 Babel/TypeScript 转译、ESLint 集成、单元测试和 end-to-end 测试等。Vue CLI 插件的名字以 @vue/cli-plugin- (内建插件) 或 vue-cli-plugin- (社区插件) 开头,非常容易使用。

当你在项目内部运行 vue-cli-service 命令时,它会自动解析并加载 package.json 中列出的所有 CLI 插件

安装

可以使用任意一下命令来安装vue cli

npm install -g @vue/cli
//OR
yarn global add @vue/cli

安装完成后你可以通过一下命令来查看版本

vue --version

创建一个项目

你可以通过命令行方式创建项目,也可以通过vue ui来进行创建项目,本文只介绍通过命令行创建项目的基础操作 你可以运行一下命令创建一个项目

vue create 项目名

运行之后会让你进行选择

image.png 前2个是系统按默认配置给你快速创建一个vue项目,当然你也可以通过选择第三个,手动的去选择安装配置那些插件
我们详解一下选择第三个之后的操作, 此时我们会进入到一个选择工具的选项

image.png

  • Choose Vue version -----选择vue版本
  • Babel -----babel插件
  • TypeScript ------ts
  • Progressive Web App (PWA) Support-----渐进式应用
  • Router-----路由
  • Vuex-----状态管理工具
  • CSS Pre-processors------css预编译
  • Linter / Formatter -------代码验证方式
  • Unit Testing-----单元测试
  • E2E Testing-----黑盒测试

选择对应的选项后,会进入选择vue版本(如果你上一杯有选择这个选项)

image.png 根据图中可知后面会对之前的选项进行一个详细的选择功能

之后我们会进入下面这个界面

image.png 选择是否使用类语法来创建组件实例

也就是说我们之前是home = new vue(),用了这个语法后会变成class home extends Vue{}

image.png 是否使用Babel与TypeScript一起用于自动检测的填充?

image.png 是否使用history来配置路由

image.png

选择css预编译工具,这里的scss分2种,一般我们都是使用dart-sass,官网也是用这个

image.png 选择使用的代码校验原则

  • ESLint with error prevention only----只进行报错提醒,(如果还没熟悉eslint,推荐使用此模式)
  • ESLint + Airbnb config----不严谨模式
  • ESLint + Standard config----正常模式
  • ESLint + Prettier------严格模式
  • TSLint (deprecated)------ts格式验证工具

注意我们选择了eslint,不会有ts的格式验证,可以另外装一个插件进行ts格式验证,适用于js和ts都有的项目

image.png 然后是选择校验时间,选择第一个在保存时校验,第二个是fix和commit提交时校验

image.png 选择代码保存位置,一个是独立文件保存,一个是放在package.json

image.png 是否在以后项目使用以上配置?

到此一个vue项目就搭建完成了

安装插件

我们可以通过一下命令来安装我们需要的插件,当然插件的安装还是要以插件官方readme为主

vue add 插件名

这个命令其实是一个语法糖,将插件解析为完整的包名 @vue/cli-plugin-插件名,然后从 npm 安装它,调用它的生成器。