1. 程式人生 > 實用技巧 >-Vue- 元件化開發

-Vue- 元件化開發

一:單檔案元件

1 簡介

在很多 Vue 專案中,我們使用 Vue.component 來定義全域性元件,緊接著用 new Vue({ el: '#container '}) 在每個頁面內指定一個容器元素

這種方式在很多中小規模的專案中運作的很好,在這些專案裡 JavaScript 只被用來加強特定的檢視

但當在更復雜的專案中,或者你的前端完全由 JavaScript 驅動的時候,下面這些缺點將變得非常明顯:

  • 全域性定義 (Global definitions) 強制要求每個 component 中的命名不得重複
  • 字串模板 (String templates) 缺乏語法高亮,在 HTML 有多行的時候,需要用到醜陋的 \
  • 不支援 CSS (No CSS support) 意味著當 HTML 和 JavaScript 元件化時,CSS 明顯被遺漏
  • 沒有構建步驟 (No build step) 限制只能使用 HTML 和 ES5 JavaScript,而不能使用前處理器,如 Pug (formerly Jade) 和 Babel

2 Hello.vue 的簡單例項:

現在我們獲得:

  • 完整語法高亮
  • CommonJS 模組
  • 元件作用域的 CSS
  • 正如我們說過的,我們可以使用前處理器來構建簡潔和功能更豐富的元件,比如 Pug,Babel (with ES2015 modules),和 Stylus。

這些特定的語言只是例子,你可以只是簡單地使用 Babel,TypeScript,SCSS,PostCSS - 或者其他任何能夠幫助你提高生產力的前處理器

如果搭配 vue-loader 使用 webpack,它也能為 CSS Modules 提供頭等支援

二:環境準備

1 Node.js

① Node.js 介紹

Node.js是一個新的後端(後臺)語言,它的語法和JavaScript類似,所以可以說它是屬於前端的後端語言

實質上,就是一個安裝在作業系統之上的js直譯器

後端語言和前端語言的區別:
  • 執行環境:後端語言一般執行在伺服器端;前端語言執行在客戶端的瀏覽器上
  • 功能:後端語言可以操作檔案,可以讀寫資料庫;前端語言不能操作檔案,不能讀寫資料庫

② 下載

官網:https://nodejs.org/en/

2個分支
  • LTS:Long-Time Support,長期支援版本(推薦使用這個
    ,比較穩定)
  • Current:當前最新版(不推薦使用,想嘗試新功能的可以試一試)

③ 安裝

  • 一直下一步即可,可以自定義安裝路徑
  • 環境變數會自動新增

④ 檢視版本

安裝完成後,可以通過下面檢視命令的版本來測試Node.js是否安裝成功

arther_wan@arther-wandeMacBook-Pro ~ % node -v
v14.15.3

2 npm

① npm 介紹

  • npm = node package manager
  • Node.js在安裝完成後,在Node.js中會同時幫我們安裝一個包管理器npm
  • 可以藉助npm命令進行node外掛的管理(包括安裝、解除安裝、管理依賴等)
  • 這個工具相當於Python的pip管理器

② npm 版本檢視

arther_wan@arther-wandeMacBook-Pro ~ % npm -v
6.14.9

③ npm的預設安裝位置


④ npm 常用選項

選項 釋義
-g global 全域性安裝
-registry= 指定映象倉庫安裝

⑤ npm 常用命令

npm install -g [包名]              # 安裝模組   -g表示全域性安裝,如果沒有-g,則表示在當前專案安裝
npm list                           # 檢視當前目錄下已安裝的node包
npm view [包名] engines            # 檢視包所依賴的Node的版本 
npm outdated                       # 檢查包是否已經過時,命令會列出所有已過時的包
npm update [包名]                  # 更新node包
npm uninstall [包名]               # 解除安裝node包
npm [命令] -h                      # 檢視指定命令的幫助文件
npm cache clean --force              # 清空快取處理
npm run lint                     # 自動格式化程式碼

3 cnpm

① cnpm 介紹

  • 支援所有 npm 命令
  • 因為npm安裝外掛是從國外伺服器下載,受網路的影響比較大,可能會出現異常
  • 如果npm的伺服器在中國就好了,所以我們樂於分享的淘寶團隊幹了這事
  • 來自官網:這是一個完整 npmjs.org 映象,你可以用此代替官方版本(只讀),同步頻率目前為 10分鐘 一次以保證儘量與官方服務同步
  • 總結:cnpm 是中國 npm 映象的客戶端

② cnpm 安裝

arther_wan@arther-wandeMacBook-Pro / % sudo npm install cnpm -g --registry=https://registry.npm.taobao.org

# 需要sudo 許可權

③ npm 版本檢視

arther_wan@arther-wandeMacBook-Pro / % cnpm -v
[email protected] (/usr/local/lib/node_modules/cnpm/lib/parse_argv.js)

④ npm 常用選項

選項 釋義
-g global 全域性安裝
-registry= 指定映象倉庫安裝

④ cnpm常用命令

cnpm install -g [包名]              # 安裝模組   -g表示全域性安裝,如果沒有-g,則表示在當前專案安裝
cnpm list                          # 檢視當前目錄下已安裝的node包
cnpm view [包名] engines            # 檢視包所依賴的Node的版本 
cnpm outdated                      # 檢查包是否已經過時,命令會列出所有已過時的包
cnpm update [包名]                  # 更新node包
cnpm uninstall [包名]               # 解除安裝node包
cnpm [命令] -h                      # 檢視指定命令的幫助文件
cnpm cache clean --force           # 清空快取處理

三:Vue-CLI 腳手架

Vue-CLI分為新版本和老版本

1 介紹

Vue CLI 是一個基於 Vue.js 進行快速開發的完整系統,提供了:

① 通過 @vue/cli 實現的互動式的專案腳手架
② 通過 @vue/cli + @vue/cli-service-global 實現的零配置原型開發
③ 一個執行時依賴 (@vue/cli-service),該依賴:
  • 可升級
  • 基於 webpack 構建,並帶有合理的預設配置
  • 可以通過專案內的配置檔案進行配置
  • 可以通過外掛進行擴充套件
④ 一個豐富的官方外掛集合,集成了前端生態中最好的工具
⑤ 一套完全圖形化的建立和管理 Vue.js 專案的使用者介面

2 安裝 Vue-CLI

① 安裝 @vue/cli

# 舊版(現已無法安裝)
# cnpm install vue-cli -g

# 新版
cnpm install -g @vue/cli

② 測試是否安裝成功,檢視版本

arther_wan@arther-wandeMacBook-Pro / % vue --version
@vue/cli 4.5.9

3 建立Vue專案 - 命令列(推薦)

① 切換到要建立專案的路徑

arther_wan@arther-wandeMacBook-Pro Desktop % mkdir test
arther_wan@arther-wandeMacBook-Pro Desktop % cd test

② 建立專案

arther_wan@arther-wandeMacBook-Pro test % vue create 001