新手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实现的竖向折叠菜单代码
Oct 21 Javascript
javascript实现仿百度图片的瀑布流加载效果
Apr 20 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
May 07 Javascript
AngularJS实现的输入框字数限制提醒功能示例
Oct 26 Javascript
Vue2 配置 Axios api 接口调用文件的方法
Nov 13 Javascript
完美解决linux下node.js全局模块找不到的情况
May 16 Javascript
微信小程序实现城市列表选择
Jun 05 Javascript
浅谈Node 异步IO和事件循环
May 05 Javascript
微信小程序实现禁止分享代码实例
Oct 19 Javascript
jQuery加PHP实现图片上传并提交的示例代码
Jul 16 jQuery
关于angular引入ng-zorro的问题浅析
Sep 09 Javascript
vue keep-alive的简单总结
Jan 25 Vue.js
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
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
Python开发编码规范
2006/09/08 Python
python调用shell的方法
2013/11/20 Python
Python中字符串的修改及传参详解
2016/11/30 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
使用K.function()调试keras操作
2020/06/17 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
python在地图上画比例的实例详解
2020/11/13 Python
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
广州品高软件.net笔面试题目
2012/04/18 面试题
团支书的期末学习总结自我评价
2013/11/01 职场文书
军训鉴定表自我鉴定
2014/02/13 职场文书
会计工作总结范文2014
2014/12/23 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript