新手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 相关文章推荐
用JS实现的一个include函数
Jul 21 Javascript
js限制文本框为整数和货币的函数代码
Oct 13 Javascript
Javascript中产生固定结果的函数优化技巧
Jan 16 Javascript
jquery实现智能感知连接外网搜索
May 21 Javascript
jQuery包裹节点用法完整示例
Sep 13 Javascript
canvas实现环形进度条效果
Mar 23 Javascript
JS简单添加元素新节点的方法示例
Feb 10 Javascript
js中this的指向问题归纳总结
Nov 28 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
Apr 08 Javascript
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
JS加载解析Markdown文档过程详解
May 19 Javascript
针对Vue路由history模式下Nginx后台配置操作
Oct 22 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
PHP.MVC的模板标签系统(五)
2006/09/05 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
基于jQuery选择器的整理集合
2013/04/26 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
JavaScript箭头函数中的this详解
2019/06/19 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
[00:11]战神迅矛
2019/03/06 DOTA
浅谈五大Python Web框架
2017/03/20 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
python-pyinstaller、打包后获取路径的实例
2019/06/10 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
python 监控logcat关键字功能
2020/09/04 Python
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
2014年自愿离婚协议书
2014/10/10 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
烟台的海导游词
2015/02/02 职场文书
请客吃饭开场白
2015/06/01 职场文书
2016特色励志班级口号
2015/12/24 职场文书