vue.js 2.0开发指南

vue.js 2.0简介

vue.js2.0 是目前很先进,也很流行的MVVM前端开发框架,设计灵感来源于angularjs,经过完善简化,和优化之后一个相当轻巧功能强大的框架。最近淘宝先给Apache组织的weex,相当于一个vue-native框架,更多详细介绍去看 vue.js的官网吧

准备工作

现在的前端开已经完全的工程化了,自动化了,有非常完善的项目构建工具,几行命令,分分钟创建一项目,包括项目文件,开发依赖,http服务器,"编译器",打包工具,应有尽有,当然这都归功于nodeJs。

简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好,在我看来,在web开发领域大有取代php可能性。

NPM是随同NodeJS一起安装的包管理工具,类似linux RPM,可以下载第三方包到本地使用,安装第三方命令行cli,上传自己的 第三方包和cli,是开发过程成中最常用的命令,这里vue-cli我们初始化项目用的命令行,由于网络问题国外的镜像是在太卡,要改成淘宝的镜像:

npm config set registry https://registry.npm.taobao.org// 配置后可通过下面方式来验证是否成功
npm config get registry// 或npm info express

其他必备工具 webpack

安装:$ npm install webpack -g

暂时没了.....准备工作结束了, 对了补充一下一上操作使用git-bash(mingw)非常好用的命令行工具。

安装vue2.0

# 全局安装 vue-cli $ npm install --global vue-cli 
# 创建一个基于 webpack 模板的新项目
$ vue init webpack my-project

执行一上命令会得到看到这样的的界面


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;
然后重新执行 npm run dev 命令 即可。


Clipboard Image.png
Clipboard Image.png

看到这个界面说明一切就绪了,在准备开发之前还是先来熟悉一下目录文件吧下面一张截图:
Clipboard Image.png
Clipboard Image.png

简单了解一下即可,详细了解就去搜索引擎去找。
开始开发了!
打开你心爱顺手的编辑器,open folder->vue.2.0


Clipboard Image.png
Clipboard Image.png

然后插入点什么保存,在看看浏览器已经自动刷新了,对,这就是自动化的好处。
简单讲一下代码#app就是所谓的根组件,所有组件都应该是他的子孙。
然后展开src看到main.js 这个基本是不需要动的,就是项目的js入口文件。
Clipboard Image.png
Clipboard Image.png

App.vue 是就是根组件,hello.vue 就是子组件,打开App.vue
Clipboard Image.png
Clipboard Image.png

一会看到一个非常清爽的组件代码结构。顶部 HTML模板, 中部ES6 JS 底部CSS,不能更清晰了吧,上面的ES6新标准,在网上可以找到很多文章教程,看一看就可以开发了。
可能在上面的js代码洒脱的敲了两个换行,在保存的时候可能会遭遇下面这张图。
Clipboard Image.png
Clipboard Image.png

其实并没有什么错,真是代码的缩进和规范出了问题,目前看来这种检测比python还是有点变态的,先把它干掉,先学习在说,打开文件./build/webpack.base.conf.js 36行
删掉,然后 ctrl+c ,再 npm run dev 就可以了,修改一下JS代码试试吧。
配置代理
在真正开发项目的时候,会遇到跨域的问题,我们的前段开发服务器如何与后端通讯,这个时候就要用到代理了,这个配置也非常简单的。打开./build/dev-server.js 17行改为

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

配置完这个之后,同样要重启http服务器,在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>

先到这里了....以后陆续补充吧。发现bug和错别字顺手改到吧,落掉哪一步也记得补充上哦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 需要先 cd 到要修改的图片的文件夹的地址下,然后开始下面的步骤:cp logo-n512.png logo@2x...
    管乐_VICTOR阅读 884评论 0 1
  • 王者荣耀 吕布X赵云 吕布漫不经心的走在因为平安夜而张灯结彩格外热闹的步行街上,天上下着不算小的雪,这么冷的天气晚...
    Nenn阅读 3,461评论 3 36
  • 2017年8月3日,我们到达北京内蒙古大厦后,将酒店事宜办理妥当,放下行李,出门后就扫了3辆共享单车直奔天...
    y有情有义阅读 661评论 0 0
  • 昨天填写报名表 生日那栏要精确到24小时 我卡壳啦 我不知道自己是哪个时辰出生的 先生顺溜地说出自己的出生时辰时 ...
    JC贾阅读 242评论 1 0
  • 作为一个完全没看过原著的伪二次元粉,今天就完全用游戏的角度来分析下网易的新手游《魔法禁书目录》吧。《魔法禁书目录》...
    游戏荒姐阅读 342评论 0 0