vue.js项目构建之vue-router2.0的使用

vue-router2.0官方文档地址:http://router.vuejs.org/zh-cn/index.html

单页应用?

单页应用程序(SPA,single page web application)。

SPA其实就是整个网站只有一个页面,只改变页面的显示内容,不需要改变整个网页。

vue.js 的单页面应用是基于路由和组件的。路由用于设定访问路径,并将路径和组件映射起来。页面内容切换这里就是组件的切换。

vue-router是vue.js官方的路由插件,适合构建单页面应用。

vue项目构建

使用vue-cli 、 webpack 构建项目完成之后【具体见vue.js项目构建基础 】,使用包管理工具npm安装vue-router插件:

npm install vue-router

根据原型设计以及项目具体需求编写router.js.

这里对组件要进行划分,分别按照功能模块和页面区域进行划分

这里创建一个简单实例项目,包括页面区域:

  1. index.vue--首页
  2. detail.vue--详情页
  3. cart.vue--购物车
  4. order.vue--订单详情页
  5. user.vue--用户中心页

功能模块:

  1. header.vue--头部组件
  2. footer.vue--尾部组件
  3. list.vue--商品列表组件
  4. search.vue--搜索框组件
  5. loading.vue--加载组件

项目创建如下图:

main.js

main.js作为项目的入口文件,引入vue和router.js以及项目的主组件App.vue。

执行创建根实例,并且挂载到主组件App,初始化路由这些操作

import Vue from ‘vue‘;
import App from ‘./App‘
import router from ‘./router/router‘;

// 创建和挂载根实例
const app = new Vue({
	el:‘#app‘,
	router,
	render: h => h(App)
});

router.js

‘use strict‘;// 严格模式
import Vue from ‘vue‘;
import VueRouter from ‘vue-router‘;

import index from ‘../page/index‘ // 首页
import detail from ‘../page/detail‘ // 详情页
import cart from ‘../page/cart‘ // 购物车
import order from ‘../page/order‘ // 订单页
import user from ‘../page/user‘ // 用户中心

// 使用模块化机制编程
Vue.use(VueRouter);

const objRouter = new VueRouter({
	mode:‘history‘,
	linkActiveClass:‘active‘,
	routes:[
		{
			name:‘index‘,
			path:‘/index‘,
			component:index
		},{
			name:‘detail‘,
			path:‘/detail‘,
			component:detail
		},{
			name:‘cart‘,
			path:‘/cart‘,
			component:cart
		},{
			name:‘order‘,
			path:‘/order‘,
			component:order
		},{
			name:‘user‘,
			path:‘/user‘,
			component:user
		}
	]
})
// 为加载模块指定默认输出
export  default objRouter

App.vue

<router-view>组件中会渲染路径匹配到的视图组件

<template>
  <div>
    <Header>
      <!-- 头部组件 -->
    </Header>
    <router-view></router-view>
    <Footer>
      <!-- 尾部组件 -->
    </Footer>
  </div>
</template>

<script>
import Header from ‘./components/header‘
import Footer from ‘./components/footer‘
export default {
  components: {
    Header,
    Footer
  }
}
</script>

使用sass

项目中我使用css预编译器--sass,在vue的项目中安装sass相关插件

npm install node-sass --save-dev
npm install sass-loader --save-dev

安装完成就可以在项目中直接使用sass 了。

如果npm安装被墙掉 ,可以使用cnpm。

可以直接引入scss文件:

require(‘../css/loading.scss‘);

或者直接在组件中编写scss样式代码:

<style lang=‘scss‘ scope>
  $color:blue;
  a{
    color: $color;
  }
</style>

动态路由匹配

动态路由最常用于类似user组件这种,对于所有id各不相同的用户,都要使用这个组件来渲染。

这个时候设置router.js的时候如下:

name:‘user‘,
path:‘/user/:uid‘, // 动态路径 以冒号开头
component:user

匹配路径的部分

<router-link class=‘user‘ to="/user/001">个人中心</router-link>

或者用命名路由:

<router-link class=‘user‘ :to="{name:‘user‘,params:{uid:323}}">个人中心</router-link>

user组件中接受到的值:

{{ $route.params.uid }}

vuex

vuex是一个专门为vue.js应用所设计的集中式状态管理架构。

vue-resource

vue-resource 作为vue插件的形式存在 ,通过XMLHttpRequest或JSONP发起请求并处理响应。

时间: 2024-10-11 01:31:05

vue.js项目构建之vue-router2.0的使用的相关文章

vue.js项目构建基础

这里构建的vue.js项目依赖node服务器运行. 项目搭建完整步骤: 安装node.js ,转至nodeJs网站http://nodejs.cn/ 下载nodeJs进行安装. 安装完毕检查nodeJs安装是否成功? nodeJs安装完成,自带npm,可以检查npm是否已经安装 安装webpack. webpack是一个模块加载器兼打包工具,在vue项目中,为了更好的管理代码使用模块系统,使用webpack打包. 安装webpack  查看webpack是否安装成功? 安装 vue-cli 脚手

Vue.js项目的开发环境搭建与运行

写作背景:手上入一个用Vue框架写的微信公众号项目,根据公司安排,我负责项目源代码的验收工作(当然专业的工作检测会交给web开发人员,我只是想运行起来看一看). 1 开发环境安装步骤: (一)安装node.js(JavaScript运行环境runtime) 从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以完成. 完成之后,开发命令行工具,输入 node -v 如果出现相应的版本号,则说明安装成功. 另外,npm是node.js下的包管理器,npm能很好的和诸如webp

Vue.js系列(一):Vue项目创建详解

引言 Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,并详细介绍使用vue-cli脚手架工具快速的构建Vue项目,以及对项目目录结构的解释说明,使大家清晰的了解Vue项目的开发流程. 简介 Vue (读音 /vju?/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项

如何把vue.js项目部署到服务器上

如何把vue.js项目部署到服务器上面,我用的是tomcat服务器 1-改一下config/index.js文件,如下图,把assetsPublicPath: './', productionSourceMap: false 2-运行npm run build 然后在项目路径中找到打包后的文件,在项目文件的dist文件夹下面的static和index.html就是打包后的文件.然后我自己创建了cccBlog文件夹,把static和index.html拷贝到cccBlog下面,然后向服务器上传这个

如何创建vue.js项目和node.js项目?

一.搭建vue.js项目     1.先下载node.js  2.通过node.js的npm命令下载node.js的vue-cli(是一个基于 Vue.js 进行快速开发的完整系统) 1.使用阿里镜像下载vue-cli ( 产生通过config命令设置默认下载路径: npm config set registry https://registry.npm.taobao.org 再全局安装vue-cli npm install --global vue-cli ) 3.用vue-cli创建项目 1

vue.js(17)--vue的组件切换

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

Vue.js项目脚手架构建

vue.js文档:https://cn.vuejs.org/v2/guide/ 参考这个或者参考菜鸟教程也可以,不过还是那句话官网权威. 我这个主要是看相关的学习视频搭建的. 一.环境准备 环境准备(node.js环境): 脚手架环境:vue-cli 执行如下命令安装: npm install vue-cli -g 或者cnpm install vue-cli -g 安装成功后在在命令行里输入vue,出现如图表示OK 二.项目初始化 vue init webpack project-name 例

Vue.js项目模板搭建

前言 从今年(2017年)年初起,我们团队开始引入「Vue.js」开发移动端的产品.作为团队的领头人,我的首要任务就是设计 整体的架构 .一个良好的架构必定是具备丰富的开发经验后才能搭建出来的.虽然我有多年的前端开发经验,但就「Vue.js」来说,仍然是个新手.所幸「Vue.js」有一个配套工具「Vue-CLI」,它提供了一些比较成熟的项目模板,很大程度上降低了上手的难度.然而,很多具体的问题还是要自己思考和解决的. 项目划分 我们公司的H5产品大部分是嵌套在手机客户端里面的页面.每个项目的功能

Vue.js项目集成ElementUI

Vuejs实例-02Vue.js项目集成ElementUI Vuejs实例-02Vue.js项目集成ElementUI 0:前言 vue.js的UI组件库,在git上有多个项目,我见的使用者比较多的是iView和Element.两个组件库,组件都很丰富. 官网的介绍 iView: 一套基于 Vue.js 的高质量 UI 组件库 Element,一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的组件库,提供了配套设计资源,帮助你的网站快速成型. 两者各有优缺点,不多评论,根据自己的需求,