本教程主要講解關於前端Vue.js框架相關技術知識,經過學習一步一步學會搭建屬於本身的後臺管理模板,而且記錄了本人在學習過程當中遇到的難題和技術要點,講解基礎知識同時分享我的所學到心得,供讀者參考與學習,學習本教程要求有必定的JavaScript編程能力,而且掌握HTML和CSS基礎知識,若是有着web開發經驗,會更容易解讀本教程。如有疑問能夠在評論區留言進行討論,本人初學與你們一同進步。(做者寫文章辛苦,不接受任何無關技術點評,不喜勿噴!本人記錄了學習中一點一滴,爲之後項目實戰中做參考資料。)javascript
公司研討決定將老項目進行從新架構,要求先後端分離,後端Spring cloud+.net core微服務架構,前端採用MVVM模式,SAP單頁面富應用。研發部門最終決定前端採用VUE框架,由於它學習成本最低,而且知足當前需求。以前研發團隊大部分人並未接觸過MVVM模式,加上項目龐大業務複雜,難度係數未知,有點趕鴨子上架的意思,不過慶幸的是,我以前有過一段Vue.js學習積累,勉強初級水平,趁着在項目啓動以前,把我以前所學習心得簡單的整理出一個相關技術文檔,也算是本身從新溫習了一遍,初衷是爲那些未接觸過Vue.js的,不瞭解Vue.js框架的,想知道與傳統前端開發方式區別的,用哪些編譯器等疑問的新手經過本教程有個初步的理解,也但願能夠經過短時間自學達到快速入門,着手項目研發當中。經過每一個人的理解也能夠做爲提早考量一個團隊並做出最終抉擇。新手在閱讀該技術文檔同時推薦官方文檔資料做爲最終參考並配合閱讀。初識VUE的我可能對有些知識層面瞭解不深入或誤解,望後來讀者給與指正與評教(抱拳)。html
官方文檔中介紹,Vue.js是一套用於構建用戶界面的漸進式框架,易用、靈活、高效,彷佛任何規模的應用都適用。它採用的是MVVM模式,與知名前端框架Angular、Ember等同樣,讓Web開發變得簡單,同時也顛覆了傳統前端開發模式,Vue屬於輕量級,易上手,學習成本更低。前端
MVVM是Model-View-ViewModel的簡寫,即模型-視圖-視圖模型。當View(視圖層)變化時,會自動更新到ViewModel(視圖模型),反之也同樣,View和ViewModel之間經過雙向綁定。vue
與MVC區別,MVC是單向通訊,VUE就是基於MVVM模式實現的一套框架,在VUE中Model層指的是js中的data數據,View層指的是頁面視圖,ViewModel是指vue實例化對象。java
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div id="app"> <input type="text" v-model="name" placeholder="你的名字"> <h1>你好,{{ name }}</h1> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> var app = new Vue({ el: '#app', data: { name: '' } }) </script> </body> </html>
從上面例子中能夠看出,咱們並無經過DOM操做去改變它的值,以前咱們常常用Jquery操做DOM元素改變狀態和值,這裏徹底體現了MVVM模式雙向數據綁定。這裏要說明一下,使用Vue.js並非它不操做DOM了,只不過是VUE內部幫你作了。與傳統前端開發區別就是,經歷過Web開發者都知道,前端研發大部分工做量都在於經過JS操做DOM,這個改變使研發者再也不投入大量精力去維護DOM操做,更多專一於業務和數據。node
Vue.js是一個漸進式框架,根據項目需求選擇不一樣維度來使用它,爲何說VUE是一個漸進式的javascript框架呢?好比你已經有一個現成的服務端應用,你能夠將VUE做爲該應用的一部分嵌入其中,若是你但願把更多的業務邏輯放到前端實現,VUE的強大核心庫能夠知足你各類需求。上面例子中是採用直接引用script方式引入Vue.js框架後,頁面中new Vue()的方式建立一個實例,這是最簡單的開發模式,初學者瞭解VUE語法時能夠經過此方式進行練習。但對於咱們後期研發項目業務邏輯複雜,必須採用Vue單文件的形式,配合webpack使用,組件複用,而且還會用到vuex管理狀態,vue-router管理路由等。react
編譯器推薦Microsoft VS Code,它是微軟出的輕量級代碼編輯器。webpack
Microsoft VS Code下載安裝:https://code.visualstudio.com/git
關於VSCode中文配置:web
打開vscode在擴展(Ctrl+Shift+X)中搜索「Chinese」,找到Chinese (Simplified) Language Pack for Visual Studio Code安裝。
Ctrl+Shift+P, 輸入>Configure Display Language,選擇"zh-CN"切換顯示語言爲中文。
安裝插件:
配置vscode settings.json:
Ctrl+Shift+P 輸入Open User Settings 打開用戶設置,右上角{} json設置,粘貼如下配置。
{ // 基礎設置 "editor.tabSize": 2, "workbench.startupEditor": "welcomePage", "editor.quickSuggestions": { "strings": true }, // vue設置 "emmet.syntaxProfiles": { "vue-html": "html", "vue": "html" }, "files.associations": { "*.vue": "vue" }, // vetur設置 "vetur.format.defaultFormatter.html": "js-beautify-html", "vetur.format.defaultFormatter.js": "vscode-typescript", // eslint設置 "eslint.autoFixOnSave": true, "eslint.validate": [ "javascript", "javascriptreact", { "language": "html", "autoFix": true }, { "language": "vue", "autoFix": true } ], // format設置 "javascript.format.insertSpaceBeforeFunctionParenthesis": false, //"prettier.singleQuote": true, //"prettier.semi": false, //"prettier.useTabs": true, // git設置 //"gitlens.advanced.messages": { // "suppressCommitHasNoPreviousCommitWarning": false, // "suppressCommitNotFoundWarning": false, // "suppressFileNotUnderSourceControlWarning": false, // "suppressGitVersionWarning": false, // "suppressLineUncommittedWarning": false, // "suppressNoRepositoryWarning": false, // "suppressUpdateNotice": false, // "suppressWelcomeNotice": true //}, "liveServer.settings.donotShowInfoMsg": true }
Node.js安裝:
官方下載地址:http://nodejs.cn/download/ 下載長期支持版本,默認安裝。
檢查版本:打開開始菜單,Node.js - Node.js command prompt 輸入node -v
若是你得到以上輸出結果,說明你已經成功安裝了Node.js。
npm包管理器:
npm包管理器,是集成在node中的,因此,直接輸入 npm -v就會以下圖所示,顯示出npm的版本信息
安裝cnpm:
因爲有些npm有些資源被屏蔽或者是國外資源的緣由,常常會致使用npm安裝依賴包的時候失敗,全部我還須要npm的國內鏡像—cnpm。
在命令行中輸入npm install -g cnpm --registry=https://registry.npm.taobao.org
安裝完成後cnpm代替npm命令。
安裝vue-cli腳手架構建工具(用於幫助搭建所需的模板框架)
在命令行輸入:cnpm install --global vue-cli
備註:安裝後,檢查是否安裝成功 。vue -V (在此注意V爲大寫)
Vue.js