使用 vue-cli 3 快速建立 Vue 项目

为了便于 Vue 项目的管理, Vue 团队官方开发了 vue-cli 工具。css

本文将带您使用 vue-cli 快速建立一个 Vue 项目。html

本地安装 vue-cli

使用 npm 全局安装 vue-cli :vue

npm i -g @vue/cli@3.0.0-beta.6

建立项目

执行:git

vue create my-project

会弹出以下界面:github

选择套餐

此处有两个选择:web

  • default (babel, eslint) 默认套餐,提供 babeleslint 支持。
  • Manually select features 本身去选择须要的功能,提供更多的特性选择。好比若是想要支持 TypeScript ,就应该选择这一项。

可使用上下方向键来切换选项。若是只须要 babel 和 eslint 支持,那么选择第一项,就完事了,静静等待 vue 初始化项目。vue-router

若是想要更多的支持,就选择第二项:切换到第二项,按下 enter 键选中,弹出以下界面:vuex

选择特性支持

vue-cli 内置支持了8个功能特性,能够多选:使用方向键在特性选项之间切换,使用空格键选中当前特性,使用 a 键切换选择全部,使用 i 键翻转选项。vue-cli

对于每一项的功能,此处作个简单描述:npm

  • TypeScript 支持使用 TypeScript 书写源码。
  • Progressive Web App (PWA) Support PWA 支持。
  • Router 支持 vue-router
  • Vuex 支持 vuex
  • CSS Pre-processors 支持 CSS 预处理器。
  • Linter / Formatter 支持代码风格检查和格式化。
  • Unit Testing 支持单元测试。
  • E2E Testing 支持 E2E 测试。

那么基于开发常见的项目,同时兼顾项目健壮性的原则,本次选择以下特性支持:

特性选项

按下 enter 键确认选择,进入下一步:

image.png

这里是让选择在开发 Vue 组件时,要不要使用 class 风格的写法。为了更方便地使用 TypeScript ,此处选择 Y :

使用 class 风格的 Vue 组件开发方式

按 enter 键,进入下一步:

image.png

这个选项的意思是要不要使用 babel 工具自动为转换后的 TypeScript 代码注入 polyfiills 。若是实在搞不清楚具体是什么意思,能够先不用管,直接选择 Y ,进入下一步:

选择 CSS 预处理器

这里就是说咱们在项目里面须要支持何种动态样式语言,此处提供了三个选项:

此处选择 LESS ,进入下一步:

单测工具

选择单元测试工具,直接选择如今比较火的 Jest ,进入下一步:

配置文件位置

这一步就是要选择配置文件的位置了。对于 Babel 、 PostCSS 等,均可以有本身的配置文件: .babelrc 、 .postcssrc 等等,同时也能够把配置信息放在 package.json 里面。此处出于对编辑器( Visual Studio Code )的友好支持(编辑器通常默认会在项目根目录下寻找配置文件),选择把配置文件放在外面,选择 In dedicated config files ,进入下一步:

presets

这个就是问要不要把当前的这一系列选项配置保存起来,方便下一次建立项目时复用。对于 MAC ,保存的配置信息会放在 ~/.vuerc 里面。

我这里就选择 n 了,而后进入下一步:

registry

这里是选择 npm registry ,在中国的话,就直接使用默认的淘宝镜像就好了。

选完以后, vue-cli 就根据前面选择的内容,开始初始化项目了。

启动项目

初始完以后,进入到项目根目录:

cd my-project

启动项目:

npm run serve

稍等一下子,能够看到自动在浏览器中打开了以下界面:

界面

打包上线

在开发完项目以后,就应该打包上线了。 vue-cli 也提供了打包的命令,在项目根目录下执行:

npm run build

执行完以后,能够看到在项目根目录下多出了一个 dist 目录,该目录下就是打包好的全部静态资源,直接部署到静态资源服务器就行了。

实际上,在部署的时候要注意,假设静态服务器的域名是 http://static.baidu.com ,那么对应到访问 <项目根目录>/dist/index.html 的 URL 必定要是 http://static.baidu.com/index.html ,其余的静态资源以此类推。

单元测试

执行:

npm run test
相关文章
相关标签/搜索