新手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 While 循环基础教程
Apr 05 Javascript
Lazy Load 延迟加载图片的 jQuery 插件
Feb 06 Javascript
基于jquery的direction图片渐变动画效果
May 24 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
May 24 Javascript
Javascript核心读书有感之表达式和运算符
Feb 11 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
Mar 07 Javascript
详解Python中logging日志模块在多进程环境下的使用
Dec 26 Javascript
Element UI 自定义正则表达式验证方法
Sep 04 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
Sep 18 Javascript
js中自定义react数据验证组件实例详解
Oct 19 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
Nov 06 Javascript
JavaScript代理模式原理与用法实例详解
Mar 10 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新手上路(五)
2006/10/09 PHP
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
php实现微信发红包功能
2018/07/13 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
详解js闭包
2014/09/02 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
JS去除字符串中空格的方法
2017/02/14 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
Python函数中定义参数的四种方式
2014/11/30 Python
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
Django stark组件使用及原理详解
2019/08/22 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
竞聘上岗演讲
2014/05/19 职场文书
外科护士长工作总结
2015/08/12 职场文书
python基础之匿名函数详解
2021/04/21 Python