vue.js 2.0開發(fā)指南

vue.js 2.0簡介

vue.js2.0 是目前很先進(jìn),也很流行的MVVM前端開發(fā)框架,設(shè)計靈感來源于angularjs,經(jīng)過完善簡化,和優(yōu)化之后一個相當(dāng)輕巧功能強大的框架。最近淘寶先給Apache組織的weex,相當(dāng)于一個vue-native框架,更多詳細(xì)介紹去看 vue.js的官網(wǎng)吧。

準(zhǔn)備工作

現(xiàn)在的前端開已經(jīng)完全的工程化了,自動化了,有非常完善的項目構(gòu)建工具,幾行命令,分分鐘創(chuàng)建一項目,包括項目文件,開發(fā)依賴,http服務(wù)器,"編譯器",打包工具,應(yīng)有盡有,當(dāng)然這都?xì)w功于nodeJs。

簡單的說 Node.js 就是運行在服務(wù)端的 JavaScript。Node.js 是一個基于Chrome JavaScript 運行時建立的一個平臺。Node.js是一個事件驅(qū)動I/O服務(wù)端JavaScript環(huán)境,基于Google的V8引擎,V8引擎執(zhí)行Javascript的速度非???,性能非常好,在我看來,在web開發(fā)領(lǐng)域大有取代php可能性。

NPM是隨同NodeJS一起安裝的包管理工具,類似linux RPM,可以下載第三方包到本地使用,安裝第三方命令行cli,上傳自己的 第三方包和cli,是開發(fā)過程成中最常用的命令,這里vue-cli我們初始化項目用的命令行,由于網(wǎng)絡(luò)問題國外的鏡像是在太卡,要改成淘寶的鏡像:

npm config set registry https://registry.npm.taobao.org// 配置后可通過下面方式來驗證是否成功
npm config get registry// 或npm info express

其他必備工具 webpack

安裝:$ npm install webpack -g

暫時沒了.....準(zhǔn)備工作結(jié)束了, 對了補充一下一上操作使用git-bash(mingw)非常好用的命令行工具。

安裝vue2.0

# 全局安裝 vue-cli $ npm install --global vue-cli 
# 創(chuàng)建一個基于 webpack 模板的新項目
$ vue init webpack my-project

執(zhí)行一上命令會得到看到這樣的的界面


Clipboard Image.png
Clipboard Image.png

說明一切順利。

然后my-project 下面會看到
Clipboard Image.png
Clipboard Image.png

項目初始化成功!

然后:

# 安裝依賴,走你 
$ cd my-project 
$ npm install $ npm run dev

不出意外的話會看到


Clipboard Image.png
Clipboard Image.png

有幾個會出錯的原因,可能是因為端口占用,比如tomcat的8080端口,你可以在配置中修改端口:./build/dev-server.js 14行
// default port where dev server listens for incoming trafficvar port =8899;
然后重新執(zhí)行 npm run dev 命令 即可。


Clipboard Image.png
Clipboard Image.png

看到這個界面說明一切就緒了,在準(zhǔn)備開發(fā)之前還是先來熟悉一下目錄文件吧下面一張截圖:
Clipboard Image.png
Clipboard Image.png

簡單了解一下即可,詳細(xì)了解就去搜索引擎去找。
開始開發(fā)了!
打開你心愛順手的編輯器,open folder->vue.2.0


Clipboard Image.png
Clipboard Image.png

然后插入點什么保存,在看看瀏覽器已經(jīng)自動刷新了,對,這就是自動化的好處。
簡單講一下代碼#app就是所謂的根組件,所有組件都應(yīng)該是他的子孫。
然后展開src看到main.js 這個基本是不需要動的,就是項目的js入口文件。
Clipboard Image.png
Clipboard Image.png

App.vue 是就是根組件,hello.vue 就是子組件,打開App.vue
Clipboard Image.png
Clipboard Image.png

一會看到一個非常清爽的組件代碼結(jié)構(gòu)。頂部 HTML模板, 中部ES6 JS 底部CSS,不能更清晰了吧,上面的ES6新標(biāo)準(zhǔn),在網(wǎng)上可以找到很多文章教程,看一看就可以開發(fā)了。
可能在上面的js代碼灑脫的敲了兩個換行,在保存的時候可能會遭遇下面這張圖。
Clipboard Image.png
Clipboard Image.png

其實并沒有什么錯,真是代碼的縮進(jìn)和規(guī)范出了問題,目前看來這種檢測比python還是有點變態(tài)的,先把它干掉,先學(xué)習(xí)在說,打開文件./build/webpack.base.conf.js 36行
刪掉,然后 ctrl+c ,再 npm run dev 就可以了,修改一下JS代碼試試吧。
配置代理
在真正開發(fā)項目的時候,會遇到跨域的問題,我們的前段開發(fā)服務(wù)器如何與后端通訊,這個時候就要用到代理了,這個配置也非常簡單的。打開./build/dev-server.js 17行改為

var proxyTable = {  '/api': {    target: 'http://xxxx.com'  }}

配置完這個之后,同樣要重啟http服務(wù)器,在npm run dev 你會看到

Clipboard Image.png
Clipboard Image.png

然后在瀏覽器里面訪問下 http://localhost:8899/api/user/status/get 吧。
安裝ajax模塊
axios.js 是官方推薦的,基于Promise的ajax庫,用了一下比較好用。

安裝:npm install axios
得到:√ All packages installed (xxx) 安裝成功

例子:hello.vue

<template>
  <div class="hello">
    <h1 @click="test()">{{ name }}</h1>
    <ul>    
       <li v-for="item in lists">      {{ item.articleTitle }}     </li>
    </ul>   </div>
</template>

<script>
import axios from 'axios';
export default {  data () {
    return {      name:"vue",      lists:null    }  },
  methods:{     test(){       alert(2);     }, 
    get_list()     {
        var self = this;
        let callback = {    
        success:function(data)
       {     var result = data.data;     if(result.statusCode == 200)
         {       self.lists = result.result;     }   },
     error:function(data)    {   console.log(data);  }   }
          let apiURL = '/api/stags/articles?tags=%E6%A0%BC%E9%9A%86%E6%B1%87&limit=22&page=1';   axios.get(apiURL).then(callback.success,callback.error)     }  },  created(){  this.get_list();  }}</script><!-- Add "scoped" attribute to limit CSS to this component only --><style scoped>h1 {  color: #42b983;}</style>

先到這里了....以后陸續(xù)補充吧。發(fā)現(xiàn)bug和錯別字順手改到吧,落掉哪一步也記得補充上哦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 需要先 cd 到要修改的圖片的文件夾的地址下,然后開始下面的步驟:cp logo-n512.png logo@2x...
    管樂_VICTOR閱讀 965評論 0 1
  • 王者榮耀 呂布X趙云 呂布漫不經(jīng)心的走在因為平安夜而張燈結(jié)彩格外熱鬧的步行街上,天上下著不算小的雪,這么冷的天氣晚...
    Nenn閱讀 3,609評論 3 36
  • 2017年8月3日,我們到達(dá)北京內(nèi)蒙古大廈后,將酒店事宜辦理妥當(dāng),放下行李,出門后就掃了3輛共享單車直奔天...
    y有情有義閱讀 799評論 0 0
  • 昨天填寫報名表 生日那欄要精確到24小時 我卡殼啦 我不知道自己是哪個時辰出生的 先生順溜地說出自己的出生時辰時 ...
    JC賈閱讀 315評論 1 0
  • 作為一個完全沒看過原著的偽二次元粉,今天就完全用游戲的角度來分析下網(wǎng)易的新手游《魔法禁書目錄》吧。《魔法禁書目錄》...
    游戲荒姐閱讀 444評論 0 0

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