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

相關文章
相關標籤/搜索