新手vue构建单页面应用实例
本人写的小程序,功能还在完善中,欢迎扫一扫提出宝贵意见!
步骤:
1.使用vue-cli创建项目
2.使用vue-router实现单页路由
3.用vuex管理我们的数据流
4.使用vue-resource请求我们的node服务端
5.使用.vue文件进行组件化的开发
一、目录结构:
二、搭建项目
需先安装淘宝镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org
Mac安装 vue-cli: sudo npm install -g vue-cli
Windows 安装 vue-cli:npm install -g vue-cli
构建初始化项目:vue init webpack project(创建webpack项目并下载依赖)
输入命令进入项目: cd 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
- }
- ]
- })
详细操作:
- 克隆项目:git clone https://github.com/cinderellastory415/vue-demo/tree/master/spa
- 安装依赖:npm install
- 运行项目:npm run dev 或者 npm start
输入以上命令,即可查看效果!
新手vue构建单页面应用实例的更多相关文章
- 借助 Vue 来构建单页面应用
原文: https://github.com/MeCKodo/vue-tutorial 主题 Vue.js (1/2)Vue构建单页应用最佳实战 前言 我们将会选择使用一些vue周边的库 1.使用no ...
- spring boot使用vue+vue-router构建单页面应用
spring boot http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ vue https: ...
- jQuery File Upload 单页面多实例的实现
jQuery File Upload 的 GitHub 地址:https://github.com/blueimp/jQuery-File-Upload 插件描述:jQuery File Upload ...
- 使用Angular构建单页面应用(SPA)
什么是SPA?看下图就是SPA: 下面说正经的,个人理解SPA就是整个应用只有一个页面,所有的交互都在一个页面完成,不需要在页面之间跳转. 单页面的好处是更快的响应速度,更流畅的用户体验,甚至和桌面应 ...
- 【vue】使用vue构建多页面应用
先了解一些单页面和多页面的区别 mm 多页应用模式MPA 单页应用模式SPA 应用构成 由多个完整页面构成 一个外壳页面和多个页面片段构成 跳转方式 页面之间的跳转是从一个页面跳转到另一个页面 页面片 ...
- 用vue构建多页面应用
最近一直在研究使用vue做出来一些东西,但都是SPA的单页面应用,但实际工作中,单页面并不一定符合业务需求,所以这篇我就来说说怎么开发多页面的Vue应用,以及在这个过程会遇到的问题. 准备工作 在本地 ...
- webpack+react+antd 单页面应用实例
React框架已经火了好长一段时间了,再不学就out了! 对React还没有了解的同学可以看看我之前的一篇文章,可以快速简单的认识一下React.React入门最好的实例-TodoList 自己从开始 ...
- 基于Vue的单页面应用的Markdown渲染
之前渲染 Markdown 的时候, 笔者使用的是 mavonEditor 的预览模式, 使用起来比较爽, 只需要引入组件即可, 但是在最近的开发中, 遇到了困难. 主要问题在于作为单页面应用, 站内 ...
- vue2.0+elementUI构建单页面后台管理平台
git:https://github.com/reg21st/vue2-management-platform 访问:https://reg21st.github.io/vue2-management ...
随机推荐
- XGBoost 与 Boosted Tree
http://www.52cs.org/?p=429 作者:陈天奇,毕业于上海交通大学ACM班,现就读于华盛顿大学,从事大规模机器学习研究. 注解:truth4sex 编者按:本文是对开源xgboo ...
- Django model 字段类型及选项解析---转载
model field 类型1.AutoField() 自增的IntegerField,通常不用自己设置,若没有设置主键,Django会自动添加它为主键字段,Django会自动给每张表添加一个自增的p ...
- Atom以及amWiki个人维基安装设置
amWiki个人维基 amWiki支持.md文件的静态维基系统 安装 参考 安装Atom 下载amWiki解压zip到C:\Users\用户名\.atom\packages 目录下,或在Atom中搜索 ...
- 使用google earth engine根据NDWI(归一化水指数)提取水体信息
交流合作请联系: ab000c@163.com
- uploadify上传图片的使用
一:引用jquery.uploadify.js 二:代码 <body> <table> <tr> <td style="width: 15%; te ...
- Eclipse插件:Spket
1,破解文件32bit不适用 java -jar spket-1.6.18.jar:
- C类网络子网掩码速查
子网掩码 网络位数 子网数量 可用主机数 255.255.255.252 30 64 2 255.255.255.248 29 32 6 255.255.255.240 28 16 14 255.25 ...
- Overture如何更改音符符尾设置
Overture作为一款专业的五线谱打谱软件,深受每一个音乐爱好者喜爱.在我们使用Overture来进行打谱操作时,往往会遇到下面这种情况:我们一般打上两个八分音符时,软件会自动符尾相连,但当我们连续 ...
- SpringMVC,SpringBoot利用ajax上传文件到后台
1.传递单文件 首先html文件中有个<input type=”file” name=”file” id=”file”/>元素. 前台js写法: var formData=new Form ...
- Python3 tkinter基础 Scale orient 横竖 resolution单步步长 length 长度 tickinterval 指示刻度
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...