Vue - 簡介,安裝,運行,以及目錄結構

Mac上面Vue開發環境搭建:
(里面是先安裝nodejs,再安裝Vue)
https://www.cnblogs.com/richerdyoung/p/7199917.html


簡介

漸進式JavaScript 框架。

特點:易用,靈活,高效。

是一套構建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue采用自底向上增量開發的設計。Vue的核心庫只關注試圖層,它不僅易于上手,還便于與第三方庫或既有項目整合。另一方便,當與單文件組件和Vue生態心痛支持的庫結合使用時,Vue也完全能夠為復雜的單頁應用程序提供驅動。
Vue就是Vue.js。

Vue.js 不支持 IE8 及其以下 IE 版本。

官方指南假設你已有 HTML、CSS 和 JavaScript 中級前端知識。

發起人:尤雨奚。
vue.js之初定位并不是想成為框架,通過發展,現在已經成為一個框架了。
是一個輕量級的MVVM前端框架。內容很小,gzip只有20+KB目前。
數據驅動+組件化的前端開發,數據驅動和組件化是vue的核心思想。
Github超過25k的star數,社區完善(Github,論壇,聊天室,Twitter)。

vue.js VS Angular.js VS react

vue.js,更輕量,gzip后只有26k,Angular(56k),react(44k)
vue.js 更容易上手,學習曲線平穩。Angular難學,顛覆了學習前端的思想,因為之初是由寫java的人寫的。這點react與Angular比起來稍微好一些,有一套js 語法,但是這些的學習也是一個挑戰,而且react學習也會復制一些react全家桶,也是比較難學的。vue是最好學習的。
vue吸取了兩者之長,借鑒了angular的指令和react的組件化。vue還有很多自己的特點,是這兩家沒有的。

vue.js的核心思想

數據驅動 + 組件化

數據驅動.png

ViewModel中有:DOM Listeners(監聽) 和 Directives(指令)

View 對應的 DOM對象。
ViewModel是一個很好的設計,如果沒有ViewModel,那么我們在View和Model之間的驅動是由手動觸發DOM改變,是一個很繁瑣的過程,而且容易出錯,如果我們使用了ViewModel之后,就省略了手動操作的步驟了,在vue.js里面,我們我們只需要改變數據,vue.js只需通過Directives指令去對DOM做一層封裝,當數據發生變化,就會通知指令去修改DOM,數據是DOM的一種自然映射。vuejs還會對操作左一層監聽,當我們修改視圖的時候,view.js會監聽這些變化,從而改變Model。從而實現了雙向綁定。
vue.js是如何做到這一點?
數據響應原理:
數據(model)改變驅動視圖(view)自動更新。


圖片.png

組件化:
目的:擴展HTML元素,封裝可重用代碼。


圖片.png

左邊是我們的頁面,被拆分為很多小的區塊,每個區塊就對應一個組件,組件可以嵌套,最終組合形成一個完整的頁面。在vue.js中,每個組件都對應一個ViewModel(右邊的小塊)。最終我們生產了右邊的ViewModel的這個數狀結構,與我們左邊的DOM樹就是一一對應的關系。
組件的設計原則:
頁面上每個獨立的可視/可交互區域都被視為一個組件。
比如我們的頁面的頭部,尾部,以及一些可復用的區塊,都可以抽象成組件。
每個組件對應一個工程目錄,組件所需要的各個組件在這個目錄下就近維護。這個就提現了前端的工程化思想,為前端開發提供了很好的分支策略,每個開發者都清楚地知道自己所開發維護的功能單元,代碼必然存在于自己的組件目錄中,在這個目錄中就可以清楚知道自己的功能的內部邏輯以及資源,樣式也好,js也好,頁面結構也好,都在里面。在vue.js中,可以通過.vue文件把組件依賴的模板,js,和樣式都寫在一個文件中,這個就把就近維護思想發揮到極致。
頁面不過是組件的容器,組件可以嵌套自由組合形成完整的頁面。

** vue.js 的安裝**
方式:
1)獨立版本(就是在Vue.js的官網上直接下載vue.min.js,并且用<script>標簽引入,相當于引入靜態的jQuery)
2)使用CDN方法
以下推薦國外比較穩定的兩個 CDN,國內還沒發現哪一家比較好,目前還是建議下載到本地。

BootCDN(國內) : https://cdn.bootcss.com/vue/2.2.2/vue.min.js
unpkg:https://unpkg.com/vue/dist/vue.js, 會保持和 npm 發布的最新的版本一致。
cdnjs : https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js

3)NPM方法
由于npm安裝速度慢,所以使用淘寶的鏡像及其命令 cnpm(淘寶的鏡像的命令是cnpm)。
在用 Vue.js 構建大型應用時推薦使用 NPM 安裝:

$ cnpm install vue

vue.js 的命令行工具
Vue.js提供了一個官方命令行工具,可以用于快速搭建大型單頁面應用。

# 安裝全局 vue-cli
$ cnpm install --global vue-cli
# 創建一個基于 webpack模板的新項目(什么是webpack,請查看我的webpack介紹)
$ vue init webpack my-project

#這里需要進行一些配置,默認回車即可
This will install Vue 2.x version of the template.

For Vue 1.x use: vue init webpack#1.0 my-project

? Project name my-project
? Project description A Vue.js project
? Author runoob <test@runoob.com>
? Vue build standalone
? Use ESLint to lint your code? Yes
? Pick an ESLint preset Standard
? Setup unit tests with Karma + Mocha? Yes
? Setup e2e tests with Nightwatch? Yes

進入項目,安裝并運行:

$ cd my-project
$ cnpm install    # 解釋: npm install 命令用來安裝模塊到node_modules目錄。
$ cnpm run dev
 DONE  Compiled successfully in 4388ms

> Listening at http://localhost:8080

目錄文件結構

圖片.png
.idea/  # 是webstorm打開過自動生成的
build文件夾    # 最終發布的代碼存放位置
config文件夾  # 配置目錄,包括端口號等。我們初學者可以使用默認的
node_modules文件夾  # npm加載的項目依賴模塊
src文件夾  # 這里是我們要開發的目錄,基本上要做的事情都放在這個目錄里面,里面包含了幾個目錄和文件。
    【assets】: 放置一些圖片,如logo等。
    【components】: 目錄里面放了一個組件文件,可以不用。
    【App.vue】:項目入口文件,我們也可以直接將組件寫這里,而不使用 components 目錄。
    【main.js】: 項目的核心文件。
static文件夾  # 靜態資源目錄,如圖片、字體等。
test文件夾  # 初始測試目錄,可刪除

# 這些.xxx文件都是一些配置文件,包括語法配置,git配置等。
.babelrc
.editorconfig
.eslintignore
.eslintrc.js
.gitignore
.postcssrc.js
.project

index.html  # 首頁入口文件,你可以添加一些meta信息或者統計代碼什么的。
package.json  # 項目配置文件
README.md  # 項目的說明文檔, markdown格式

vue中的注釋

https://www.cnblogs.com/cag2050/p/7387934.html

1.在一個vue的文件中根部注釋使用: 在vue的模板中注釋也使用

<!-- 展示模板 -->
<template>
  <!-- 模板里面注釋 -->
  <div id="app">
    <img src="./assets/logo.png">
    <hello></hello>
  </div>
</template>

2.在vue的文件的 js中注釋使用和js注釋一樣:

//  單行注釋
/*多行注釋*/ 

<script>
// 單行注釋
/* 多行注釋
多行注釋 */
</script>

3.在vue的style(css)中注釋使用和css注釋一樣:

/*css的注釋*/

<style>

#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
  /*
  margin-left: 60px;
  margin-right: 60px;
  */
}
</style>

Vue運行起來之后

我們在瀏覽器中看到:
這里有一個#,這個是代表路由,#后面可以跳轉到不同的模塊。

http://localhost:8080/#/
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容