vue-cli 快速搭建脚手架

使用 Vue.js 开发大型应用时,咱们须要考虑代码目录结构、项目构建和部署、热加载、代码单元测试等事情。若是每一个项目都要手动完成这些工做,那无疑效率是低下的,因此一般咱们会使用一些脚手架工具来帮助完成这些事情。在 Vue.js 生态中咱们可使用 vue-cli 脚手架工具来快速构建项目。
html


一、安装
vue

vue-cli 是用 node 编写的命令行工具,咱们须要进行全局安装。打开命令行工具,输入指令:node

$ npm install -g vue-cliwebpack


注意:请确保 node 版本为 4.x、5.x 及以上
git

wKioL1hCLlCgniIEAAAnYzrpmgc909.png


安装完成之后,执行以下命令:github

$ vue --versionweb


wKiom1hCLpCAkLGIAAAFEB-7Pzo016.png



二、基本使用vue-cli


生成项目模板的命令格式为npm

$ vue init <template-name> <project-name>api


<template-name>:模板名,好比 webpack, simple, browserify

<project-name>: 本地文件夹名称


咱们可使用 vue-cli 来快速生成一个基于 Webpack 构建的项目。打开命令行工具,输入以下命令:

$ vue init webpack my-project


全部模板默认安装的是 Vue 2.x 版本,若是须要安装 1.x 版本,须要输入以下指令:

$ vue init webpack#1.0 my-project


这里先安装1.0版本,并有一系列交互问题,赞成按 y,不一样意按 n

wKioL1hCMFDiwoX9AAAn6R4TLtY768.png


安装命令行给出的提示,咱们依次输入以下指令:

$ cd my-project

$ cnpm install


安装完毕之后会在对应的目录下生成以下文件:

wKioL1hCMgbT3fzXAAAn6R4TLtY531.png

wKiom1hCNK3Ctm6KAABxYA_0SIg262.png

wKiom1hCMhOy0RyJAACdVJEPRcQ663.png


下面对上图目录作一个简要的说明

wKiom1hCNEmBut2LAACdJkXPepU454.png


如今启动项目,输入以下命令:

$ npm run dev


默认监听的是 8080 端口

wKiom1hCNQ6QFQ4wAAArhpaXUag036.png


甚至连 Apche服务器都不须要本身启动,在浏览器中输入 http://localhost:8080,生成的页面以下:

wKioL1hCNXKzMSM8AAEI55dOsQ4437.png

接下来咱们打开 src/components/Hello.vue,把数据中的 msg 改为 “你好,世界!”

<script>
export default {
  data () {
    return {
      // note: changing this line won't causes changes
      // with hot-reload because the reloaded component
      // preserves its current state and we are modifying
      // its initial state.
      msg: '你好,世界!'
    }
  }
}
</script>


从新刷新页面:

wKiom1hCNk6zaZsTAAChdpMt6Yg955.png


三、模板

这里对两个命令作进一步拓展介绍:


3-一、init

init 命令用来基于指定模板生成项目结构。前面提到过的,template-name 为模板名,project-name 为要生成的目录名


3-二、list

list 命令用于列出全部可用的模板,经过查询 https://api.github.com/users/vuejs-templates/repos 这个API 接口能够获得全部列表。


命令行输入指令:

$ vue list


wKiom1hCOqSQ7gjiAAAoMFIdVoE145.png

前面提到,在执行 init 命令时能够指定模板的名字。在默认状况下,vue-cli 会根据所传入的模板名字去 github 中查找模板。


vue-cli 的模板分为 官方模板、自定义模板、本地模板


(1)、官方模板


上图中就提供了 5种 官方模板:

  • browserify  --  拥有高级功能的 Browserify + vueify 用于 正式开发

  • browserify-simple  --  拥有基础功能的 Browserify + vueify 用于 快速开发

  • simple  --  单个 HTML,用于开发最简单的 Vue.js 应用

  • webpack  --  拥有高级功能的 Webpack + vue-loader 用于正式开发

  • webpack-simple  --  拥有基础功能的 Webpack + vue-loader 用于快速开发


在这里特别提一下 webpack,前面在安装 webpack 模板时,有一个选择项,是否使用 ESLint 来规范你的代码

wKiom1hCQbXzhQ-OAAADLiFcV90256.png


ESLint 对于平时不太注意代码缩进的朋友多是一个噩耗,咱们简单演示一下,打开 src 下的 App.vue,把代码稍做修改

<template>
  <div id="app">
	<h2>2017年来啦!</h2>
	<strong>`msg`</strong>
  </div>
</template>

<script>

export default {
  data(){
	return {
		msg:'好好学习 Vue.js!'
	}
  }
}
</script>


刷新页面,提示了各类代码缩进、空格 之类的错误

wKiom1hCSg6xD8-SAAG3idY3GKI766.png


(2)、自定义模板

当官方模板不能知足需求时,咱们能够 fork 官方模板按照本身的需求修改后,经过 vue-cli 命令生成基于本身模板的项目结构:

$ vue init username/repo my-project



(3)、本地模板

除了从 github 下载模板外,咱们还能够从本地加载模板:

$ vue init ~/fs/path/to-custom-template my-project




四、推荐的工具包

vue-cli 内部使用了不少第三方 npm 包来帮助本身实现一些基础功能,好比下面这些


4-一、commander

commander 是一个命令行接口的解决方案,它提供了一些接口方便咱们对命令行的命令作解析。


仓库地址:https://github.com/tj/commander.js



4-二、download-git-repo

download-git-repo 用来将相应的 git 库(Github、GitLab、Bitbucket)下载到指定的本地文件夹。


仓库地址:https://github.com/flipxfx/download-git-repo


4-三、inquirer

inquirer 是一个常见的交互式命令行用户页面的集合,它能够简化如下流程:

  • 提供错误反馈

  • 询问问题

  • 解析输入

  • 验证结果


仓库地址: https://github.com/SBoudrias/Inquirer.js

相关文章
相关标签/搜索