Vue開發(fā)基礎(chǔ)一: Vue介紹及開發(fā)環(huán)境搭建

RogerZhong @ 2023-04

一、前端開發(fā)主流三大框架

Vue : 尤雨溪主導(dǎo)開發(fā) ( 官網(wǎng)鏈接: https://cn.vuejs.org/
React :Facebook 主導(dǎo)開發(fā) ( 官網(wǎng)鏈接: https://react.dev/
Angular :Google 主導(dǎo)開發(fā) ( 官網(wǎng)鏈接: https://angular.cn/

1、三大框架共同點(diǎn)

  • 都是MVVM模式 —— Model,View,ViewModel
  • Angular:數(shù)據(jù)綁定、操作Dom通過ViewModel完成的
  • React和Vue的ViewModel的高效率通過框架自身提供的Virtual Dom(虛擬dom)來實(shí)現(xiàn),它是一個js對象,數(shù)據(jù)的變化會被映射到這個虛擬Dom上,再去修改真實(shí)Dom結(jié)構(gòu),比Angular的ViewModel直接綁定真實(shí)Dom樹的操作效率更高

2、三大框架優(yōu)缺點(diǎn)

框架 優(yōu)點(diǎn) 缺點(diǎn)
Vue 1. 國產(chǎn)框架,對國內(nèi)開發(fā)者更友好。所以它的學(xué)習(xí)成本是三個框架中最低的
2. 體積最小,加上它的處理機(jī)制,在非大型項(xiàng)目的對比中,它的性能是最高的。
3. vue會跟蹤每一個組件的依賴關(guān)系,不需要重新渲染整個組件樹
4. vue實(shí)現(xiàn)了數(shù)據(jù)的雙向綁定,react數(shù)據(jù)流動是單向的
1. vue的響應(yīng)系統(tǒng)無法檢測屬性的添加和刪除,以及某些數(shù)組的修改
2. 發(fā)展的時間較短,生態(tài)環(huán)境更小
React 1. React本身不能算作一個框架,因?yàn)樗旧淼墓δ苡邢?,不過它有一個龐大的生態(tài)系統(tǒng),全世界無數(shù)開發(fā)人員在為它提供開源包
2. 輕量:React和Vue的可組裝性強(qiáng)于angular,更加靈活
3. React的單項(xiàng)數(shù)據(jù)流機(jī)制
3. React-native,一個優(yōu)秀的移動端開發(fā)框架,使用react特有的jsx語法,將html融入到j(luò)s中,自動適配了不同的移動端的屏幕分辨率
4. state,所有的數(shù)據(jù)都儲存在state中,只可以使用setState方法去改變
1. React的靈活性就導(dǎo)致了在選擇上要耗費(fèi)成本,相同的功能也會有很多開源人員貢獻(xiàn)包(這一問題在vue上也同樣存在)
2. React的jsx語法,學(xué)習(xí)起來并不是很難,但它的寫法是把html和js結(jié)合起來,導(dǎo)致一些IDE無法格式化,代碼的可讀性較差
3. 使用Redux在處理數(shù)據(jù)流時,需要學(xué)習(xí)使用saga語法
4. 每當(dāng)應(yīng)用的狀態(tài)被改變時,全部組件都會重新渲染,所以需要shouldComponentUpdate生命周期函數(shù)方法控制
Angular 1. google有著穩(wěn)定的維護(hù)團(tuán)隊(duì)。google的Adwords業(yè)務(wù)就使用了angular,環(huán)境更穩(wěn)定
2. Angular + TypeScript( google+微軟 )
3. Angular自帶了幾乎所有頁面應(yīng)具有的功能,路由、表單、ajax、模版、雙向數(shù)據(jù)綁定等等。它原生的form表單模塊非常強(qiáng)大,除了雙向綁定的基本功能,還自帶驗(yàn)證等
4. 它的每一個組件都是一個文件夾,html、js、和css文件是分開的,讓代碼更加清晰
1. 較難調(diào)試:Angular的代碼整潔、規(guī)范,很容易維護(hù)和審查,但控制臺報錯信息較差,較難看出問題在哪
2. 太重:它自帶了很多模塊,壓縮后達(dá)到了168k,而vue僅為50k。即使在4版本中拆分了一些功能,但依然還是很重
3. 學(xué)習(xí)成本高:它有很多的概念,有些還較難理解,api文檔內(nèi)容多,增大了閱讀難度。較難上手

二、Vue項(xiàng)目構(gòu)建方式

1、通過CDN使用Vue.js

  • 創(chuàng)建html文件,引入vue.js
  • 不需要使用 Node.js

index.html 示例代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Hello Vue -- CDN</h1>
    <div id="app">
        <h2>{{msg}}</h2>
    </div>
    <!-- 開發(fā)環(huán)境版本,包含了有幫助的命令行警告 -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <script>
        const { createApp } = Vue;
        createApp({
            data(){
                return {
                    msg: "HOHO"
                }
            }
        }).mount('#app')
    </script>    
</body>
</html>

注: CDN 的全稱是 Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。
是構(gòu)建在網(wǎng)絡(luò)之上的內(nèi)容分發(fā)網(wǎng)絡(luò),依靠部署在各地的邊緣服務(wù)器,通過中心平臺的負(fù)載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞,提高用戶訪問響應(yīng)速度和命中率。
CDN的關(guān)鍵技術(shù)主要有內(nèi)容存儲和分發(fā)技術(shù)。

2、使用本地 vue.js 文件

將CDN中的js文件下載到本地,作為本地js文件資源引入后,使用vue

<body>
    <div id="app">
        <h2>{{msg}}</h2>
    </div>
    <!-- 使用本地vus.js文件 -->
    <script type="text/javascript" src="../vue.global.js"></script>
    <script>
        const { createApp } = Vue;
        createApp({
            data(){
                return {
                    msg: "HOHO hoho"
                }
            }
        }).mount('#app')
    </script>    
</body>

3、使用 vue-cli 搭建項(xiàng)目

  • 第一步: 安裝 Node.js
  • 第二步: 使用 Node.js 安裝 vue-cli
  • 第三步: 使用 vue-cli 命令創(chuàng)建項(xiàng)目

(1) 安裝 Node.js

Node.js發(fā)布于2009年5月,由Ryan Dahl開發(fā),是一個基于Chrome V8引擎的JavaScript運(yùn)行環(huán)境,使用了一個事件驅(qū)動、非阻塞式I/O模型,讓JavaScript 運(yùn)行在服務(wù)端的開發(fā)平臺,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務(wù)端語言平起平坐的腳本語言。
Node.js對一些特殊用例進(jìn)行優(yōu)化,提供替代的API,使得V8在非瀏覽器環(huán)境下運(yùn)行得更好,V8引擎執(zhí)行Javascript的速度非???,性能非常好,基于Chrome JavaScript運(yùn)行時建立的平臺, 用于方便地搭建響應(yīng)速度快、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。

Node.js 下載地址: https://nodejs.org/zh-cn/download

安裝過程中記得勾選上自動配置電腦環(huán)境變量的選項(xiàng),然后一路Next即可,安裝完成后驗(yàn)證安裝結(jié)果:

查看node與npm版本信息

(2)配置國內(nèi)鏡像

推薦方式:配置國內(nèi)鏡像

npm config set registry https://registry.npmmirror.com

可選方式:將npm切換為cnpm(淘寶鏡像)

npm install -g cnpm --registry=https://registry.npm.taobao.org
設(shè)置cnpm成功顯示

(3) 使用 Node.js 安裝 vue-cli

  • 使用npm全局安裝 vue-cli
npm install -g @vue/cli
安裝vue-cli命令

安裝完成后顯示
  • 驗(yàn)證安裝結(jié)果
查看vue-cli版本

(3) 使用 vue-cli 命令創(chuàng)建項(xiàng)目

vue create mycli
  • 使用vue命令創(chuàng)建項(xiàng)目,項(xiàng)目名稱為“mycli”

注意:項(xiàng)目名稱不能有大寫字符

  • 在選擇項(xiàng)目配置界面中,可以選擇預(yù)設(shè)的配置,或者手動設(shè)置:
選擇項(xiàng)目配置
  • 手動選擇需要的組件


    按照項(xiàng)目實(shí)際需要選擇
  • 選擇需要使用的Vue版本

選擇Vue3.x
  • 后續(xù)選擇:歷史模式、配置文件、保存配置等,目前均使用默認(rèn)值,一路回車即可

  • 項(xiàng)目創(chuàng)建完成后顯示提示

項(xiàng)目創(chuàng)建成功界面
  • 使用命令啟動項(xiàng)目
//進(jìn)入mycli目錄
cd mycli
//啟動項(xiàng)目
npm run serve
項(xiàng)目啟動成功
  • 在瀏覽器中訪問項(xiàng)目
http://localhost:8080
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容