新手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表单验证代码(包括例子)
Nov 11 Javascript
jquery中的过滤操作详细解析
Dec 02 Javascript
JS脚本defer的作用示例介绍
Jan 02 Javascript
基于JavaScript实现瀑布流布局(二)
Jan 26 Javascript
Vue.js每天必学之Class与样式绑定
Sep 05 Javascript
Bootstrap 3 进度条的实现
Feb 22 Javascript
vue中使用sessionStorage记住密码功能
Jul 24 Javascript
浅谈React碰到v-if
Nov 04 Javascript
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
Sep 03 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
Oct 17 Javascript
解决Antd Table表头加Icon和气泡提示的坑
Nov 17 Javascript
JS+CSS实现动态时钟
Feb 19 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
?生?D片??C字串
2006/12/06 PHP
FCKeditor添加自定义按钮
2008/03/27 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
AngularJS基础 ng-include 指令简单示例
2016/08/01 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
一套C#面试题
2013/10/09 面试题
中间件的定义
2016/08/09 面试题
汽车维修专业个人求职信范文
2014/01/01 职场文书
企业员工培训感言
2014/02/26 职场文书
简单的项目建议书模板
2014/03/12 职场文书
城管大队整治方案
2014/05/06 职场文书
2014年预算员工作总结
2014/12/05 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
佛光寺导游词
2015/02/10 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
决心书格式及范文
2019/06/24 职场文书
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python