vue官網學習(一)

2021-08-13 22:18:56 字數 2812 閱讀 6893

一直聽說vue.js的學習一定要通過官網來學習,個人雖然接觸過vue專案,對於官網還是比較陌生,所以今天開始對官網進行乙個初步的學習,後期準備看完之後,整理出來乙個比較清晰的目錄出來,供大家學習,希望大家持續關注我的部落格,謝謝!!!(如果有不對的地方,希望大家能夠指正)

一:安裝

1. vue.js相容所有es5的瀏覽器,但是ie8不行,所以不相容ie8以下

2. 需要我們安裝vue的除錯工具:vue detvtools.這個的安裝也很簡單

4. 建議我們vue,js記得使用npm安裝,npm一些好處,可以跟模組打包器進行配合使用(webpack,browserify等等)

5. 命令列工具:(可以快速建立和啟動帶熱過載,儲存時靜態檢查以及可用於生產環節的構建配置的專案:注意這裡面的幾個詞:熱過載,靜態檢查,構建配置,這個大家在做專案的時候,要著重去理解這幾個詞語)

6. 在npm裡面的dist檔案下面會有很多vue.js相關檔案,他們之間是有區別的

分為四類:

(1)完整版:                                

vue.js (umd)

vue.common.js(commonjs

)  

vue.esm.js(

es module)

(2)只包含執行時:                     

vue.runtime.js(umd)

vue.runtime.common.js(commonjs

)vue.runtime.esm.js(

es module)

(3)完整版(生產環境):           

vue.min.js(umd)

(4)只包含執行時(生產環節):

vue.runtime.min.js(umd)

看一下這裡的umd,一種新的規範出來的(大家還是需要了解一下umd,amd,cmd等等,自己去了解學習)

官網裡面還解釋這些術語,接下來我會跟大家通俗的說出來,方便大家理解:

一.完整版:同時包含編譯器和執行時的構建。

(2)執行時:用來建立vue例項,渲染並處理虛擬dom等行為的**,基本上除去編譯器的其他的一起東西(虛擬dom:這裡需要理解vue的渲染html原理)

(3)umd:umd構建可以直接通過標籤用著瀏覽器中,jsdelivr cdn的 預設檔案就是執行時+編譯器的umd構建(umd構建:是amd和common,js的合併,還是乙個比較不錯的模組化規則,這句話的意思就是vue.js檔案就是實現umd構建檔案)

(4)common.js:用來配合老的打包工具(browserify,webpack1),這些打包工具的預設檔案(pkg.min)是包含執行時的commonjs構建(同樣的是,這個pkg檔案就是實現commonjs的構建)

以上的概念,如果想要深入理解的話,還需要對amd cmd  common.js umd es module 進行理解,後期我會補償這部分的概念理解

二:執行時+編譯器  vs  只包含執行時

其實這個不就是比較編譯器的區別嗎?

官網給出乙個例子:什麼情況下需要編譯器:譬如傳入有乙個字串給template選項,或者掛載到乙個元素上並以內部的html作為模板,這個時候需要編譯器,不然這些在js寫的字串是無法到html裡面的,是完整版的構建:

給出的兩個例子,乙個看明白了,第二個沒有看明白(應該是某乙個語法的東西)

那麼怎麼把這些vue裡面的寫法編譯到html裡面去尼,這時候就用到了vue-loader或者vueify,原理是:*.vue檔案的內部的模組會在構建時編譯成 js,所以每次在執行時構建好了就行,在最終打好的包實際上是不需要編譯器的,因為執行時已經進行編譯過了,正在打包的東西是html檔案

三:開發環境  vs 生產環境(這部分沒看太明白)

開發環境以及生產環境是硬編碼的umd構建:開發環境下不壓縮**,生產環境壓縮**

commonjs和es module 構建同時保留原始的process.evn.node_env檢測,以決定應該執行在什麼模式下,

process.evn.node_env其實就是設定vue的環境的,是生產,開發,還是測試

這段話很好的解釋了env的作用了,,因此可以使用適當的打包工具配置來體積這些環境變數來控制vue所執行的模式,(同時吧env 替換成字串字面量同時可以讓uglifyjs之類的壓縮工具完全丟掉僅供開發環境的**塊,以減少最終的檔案尺寸)

四:csp環境

csp概念:將 c

語句直接嵌入到 html 原始檔中並叫它 csp;這個解釋其實還是挺理解的

這段話我覺得比較重要的是:執行時版本是完全相容csp的,當通過webpack+vue-loader或者browserify+vueify構建,模板被編譯成render函式,可以在csp環境下完美的執行;(render函式: rander函式是將複雜的html模板的部分,轉移到js中實現 )

五:開發版本

重要:github倉庫的/dist資料夾只有在新版本發布時才會提交,如果想要使用github上的vue的最新的原始碼,你是需要自己構建!

git clone  node_modules/vue

cd node_modules/vue

npm install

npm run build

六:bower

bower 只提供umd版本;

七:amd模組載入器

所有的umd 版本都可以直接用作amd模組

vue的計算屬性(官網)

模板內的表示式非常便利,但是設計它們的初衷是用於簡單運算的。在模板中放入太多的邏輯會讓模板過重且難以維護。例如 在這個地方,模板不再是簡單的宣告式邏輯。你必須看一段時間才能意識到,這裡是想要顯示變數 message 的翻轉字串。當你想要在模板中多包含此處的翻轉字串時,就會更加難以處理。所以,對於任何...

Vue官網教程 條件渲染

通過v if展示乙個dom是否顯示 改為false就不會顯示了 可以使用else的。改變ok的值為false,注意這個false是沒有 引號的,帶引號的是字串,沒效果的 因為v if只能改變自己的dom,如果想改變好幾個標籤要怎麼辦?可以使用template v else 要緊跟在v if v el...

Mockjs 官網學習總結

node commonjs 安裝 npm install mockjs 使用 mock var mock require mockjs var data mock.mock 輸出結果 console.log json.stringify data,null,4 mock.js 的語法規範包括兩部分 ...