新手vue构建单页面应用实例代码


Posted in Javascript onSeptember 18, 2017

本文介绍了新手vue构建单页面应用实例代码,分享给大家,具体如下

步骤:

1.使用vue-cli创建项目
2.使用vue-router实现单页路由
3.用vuex管理我们的数据流
4.使用vue-resource请求我们的node服务端
5.使用.vue文件进行组件化的开发

一、目录结构:

新手vue构建单页面应用实例代码

二、搭建项目

先安装 vue-cli: sudo npm install -g vue-cli

使用vue-cli构建初始化项目:vue init webpack project(创建webpack项目并下载依赖)

输入命令进入项目: cd my-project 

安装依赖: npm install

npm i

开始运行: npm run dev (或输入http://localhost:8080),在热加载中运行我们的应用

它会去找到package.json的scripts对象,执行node bulid/dev-server.js

在这文件里,配置了Webpack,会让它去编译项目文件,并且运行服务器。

这些都准备好后,我们需要为我们的路由、XHR请求、数据管理下载三个库,我们可以从vue的官网中找到他们。另外我们使用bootstrap作为我的UI库:

 npm i vue-resource vue-router vuex bootstrap --save

三、项目开始

初始化项目(main.js)

查看我们的应用文件,我们可以在src目录下找到App.vue和main.js文件中,我们引入Vue和App,且创建了一个vue的实例(因为在router这行引入了App组件router.start(App,'#app'))

import Vue from 'vue'
import App from './App'
import router from './router'

import VueResource from 'vue-resource'
Vue.use(VueResource)
Vue.config.productionTip = false

new Vue({
 el: '#app',
 router,
 template: '<App/>',
 components: { App }
})

index.html

<body>
  <div id="app"></div>
 </body>

App.vue

<template>
 <div id="app">
  <div class="row">
   <div class="col-xs-offset-2 col-xs-8">
    <div class="page-header">
     <h2>Router Basic - 01</h2>
    </div>
   </div>
  </div>
  <div class="row">
    <div class="col-xs-2 col-xs-offset-2">
     <ul class="list-group">
      <!--使用指令v-link进行导航-->
      <a class="list-group-item"><router-link to="/home">Home</router-link></a>
      <a class="list-group-item"><router-link to="/about">About</router-link></a>
      <a class="list-group-item"><router-link to="/contact">Contact</router-link></a>
     </ul>
    </div>
    <div class="col-xs-6">
     <div class="panel">
      <div class="panel-body">
       <!--用于渲染匹配的组件-->
       <router-view></router-view>
      </div>
     </div>
    </div>
   </div>
  </div>
 </div>
</template>

<script>
export default {
 name: 'app'
}
</script>

src/components/Home.vue 作为我们的首页

<template id="contact">
 <div>
  <h1>Home</h1>
  <p>This is the tutorial about Contact.</p>
 </div>
</template>

<script>
export default {
 '/hello': 'Hello'
}
</script>

src/components/About.vue

<template id="about">
  <div>
    <h1>About</h1>
    <p>This is the tutorial about vue-router.</p>
  </div>
</template>
<script>
export default {
 '/about': 'About'
}
</script>

src/components/Contact.vue

<template id="contact">
  <div>
    <h1>Contact</h1>
    <p>This is the tutorial about Contact.</p>
  </div>
</template>

export default {
 '/contact': 'contact'
}
</script>

src/index.js

import Vue from 'vue'
import Router from 'vue-router'
import Hello from '@/components/Hello'
import Home from '@/components/Home'
import About from '@/components/About'
import Contact from '@/components/Contact'
import 'bootstrap/dist/css/bootstrap.css'

Vue.use(Router)

export default new Router({
 routes: [
  {
   path: '/',
   name: 'Hello',
   component: Hello
  },
  {
   path: '/home',
   name: 'Home',
   component: Home
  },
  {
   path: '/about',
   name: 'About',
   component: About
  },
  {
   path: '/contact',
   name: '/Contact',
   component: Contact
  }
 ]
})

spa地址:https://github.com/cinderellastory415/vue-demo/tree/master/spa

详细操作:

git clone https://github.com/cinderellastory415/vue-demo/tree/master/spa

npm install

npm run dev

输入以上命令,即可查看效果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript中字符串拼接需注意的问题
Jul 13 Javascript
js使用函数绑定技术改变事件处理程序的作用域
Dec 26 Javascript
jQuery中:button选择器用法实例
Jan 04 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
JavaScript面试题大全(推荐)
Sep 22 Javascript
微信小程序左右滑动切换页面详解及实例代码
Feb 28 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
Sep 01 Javascript
JavaScript闭包与作用域链实例分析
Jan 21 Javascript
JS实现checkbox互斥(单选)功能示例
May 04 Javascript
Vue 3.0双向绑定原理的实现方法
Oct 23 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
Nov 09 Javascript
angularjs路由传值$routeParams详解
Sep 05 #Javascript
vue-ajax小封装实例
Sep 18 #Javascript
信息滚动效果的实例讲解
Sep 18 #Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
Sep 18 #Javascript
angularjs实现猜数字大小功能
May 20 #Javascript
angular指令笔记ng-options的使用方法
Sep 18 #Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 #jQuery
You might like
德生BCL3000的电路分析和打磨
2021/03/02 无线电
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
vue中img src 动态加载本地json的图片路径写法
2019/04/25 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
HTML5拖拽功能实现的拼图游戏
2018/07/31 HTML / CSS
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
北大自主招生自荐信
2013/10/19 职场文书
程序员岗位职责
2013/11/11 职场文书
自我鉴定四大框架
2014/01/17 职场文书
给公司的建议书范文
2014/05/13 职场文书
房屋产权证明书
2014/10/15 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
初中团委工作总结
2015/08/13 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python