新手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添加输出窗口的代码
Feb 07 Javascript
js简单实现HTML标签Select联动带跳转
Oct 23 Javascript
js hover 定时器(实例代码)
Nov 12 Javascript
JS替换文本域内的回车示例
Feb 18 Javascript
动态加载js、css等文件跨iframe实现
Feb 24 Javascript
浅谈Javascript数组(推荐)
May 17 Javascript
bootstrap table小案例
Oct 21 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
Dec 26 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
Sep 20 Javascript
layui实现三级联动效果
Jul 26 Javascript
package.json配置文件构成详解
Aug 27 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
Oct 10 jQuery
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中读取和写入WORD文档的代码
2008/04/09 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
php添加数据到xml文件的简单例子
2016/09/08 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
javascript getElementsByName()的用法说明
2009/07/31 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
vue配置接口域名方法总结
2019/05/12 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
angularjs自定义过滤器demo示例
2019/08/24 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
简单的python后台管理程序
2017/04/13 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
css3图片边框border-image的用法
2017/06/30 HTML / CSS
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
社区食品安全实施方案
2014/03/28 职场文书
react国际化react-intl的使用
2021/05/06 Javascript
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS