Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面
制作.vue模板文件
通过前面的两篇博文的学习,我们已经建立好了一个项目。问题是,我们还没有开始制作页面。下面,我们要来做页面了。
我们还是利用 http://cnodejs.org/api 这里公开的api来做项目。不过本章节不涉及调用接口等内容。这里,我们假设我们的项目是做俩页面,一个列表页面,一个内容页面。列表页面有分页等,内容页面展示。
因此,我们需要两个模板文件。
我们在src/page目录下面新建两个文件,分别是index.vue和content.vue
index.vue代码:
<template>
<div>这是首页</div>
</template>
content.vue代码:
<template>
<div>这是内容页</div>
</template>
配置路由routes.js
在src目录下的config文件夹下新增routes.js文件代码如下:
import Vue from 'vue'
import Router from 'vue-router'
// 引用模板
import index from '../page/index.vue'
import content from '../page/content.vue' Vue.use(Router) export default new Router({
routes: [
{
path: '/',
component: index
},
{
path: '/content',
component: content
}
]
})
配置main.js
注意:变动部分为引入路由配置文件路径:
import Vue from 'vue'
import App from './App'
import router from './router/routes.js' Vue.config.productionTip = false new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})
配置App.vue
<template>
<div id="app">
<div class="nav-list">
<router-link class="nav-item" to="/">首页</router-link>
<router-link class="nav-item" to="/content">内容页</router-link>
</div>
<router-view></router-view>
</div>
</template> <script>
export default {
name: 'app'
}
</script> <style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
关闭格式检查插件eslint
当我们npm run dev的时候页面运行后出现如图所示:

然后去查看错误发现大部分是语法问题引起的,所以打开根目录下面的/build/webpack.base.conf.js文件,注释掉如下代码:
{
test: /\.(js|vue)$/,
loader: 'eslint-loader',
enforce: 'pre',
include: [resolve('src'), resolve('test')],
options: {
formatter: require('eslint-friendly-formatter')
}
}
再次运行npm run dev 就会在浏览器出现如图所示的界面:

点击内容直接进入内容页界面。
到这儿页面就运行起来了,也就可以其它的开发了。
扩展:使用sass写样式
如果我们在App.vue中导入了sass,如:
那么App.vue代码如下:
<template>
<div id="app">
<div class="nav-list">
<router-link class="nav-item" to="/">首页</router-link>
<router-link class="nav-item" to="/content">内容页</router-link>
</div>
<router-view></router-view>
</div>
</template> <script>
export default {
name: 'app'
}
</script> <style lang="scss">
@import "./style/style";
</style>
这样以来页面就会报错,因为没有安装sass-loader,如下错误:
ERROR in ./src/App.vue
Module not found: Error: Can't resolve 'sass-loader' in 'D:\vue_test_project\vuedemo\src'
@ ./src/App.vue 4:2-324
@ ./src/main.js
@ multi ./build/dev-client ./src/main.js
需要安装安装sass-loader以及node-sass插件才能正常运行。依次执行下面的指令:
npm install sass-loader -D
npm install node-sass -D
这样页面就顺利运行起来了。
结果如图所示:

参考
Vue2+VueRouter2+webpack+vue-cil构建完整项目实例(附:详细步骤截图)
Vue2+VueRouter2+webpack 构建项目实战(三)配置路由,整俩页面先
Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面的更多相关文章
- Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构
通过上一篇博文<Vue2+VueRouter2+webpack 构建项目实战(一):准备工作>,我们已经新建好了一个基于vue+webpack的项目.本篇文章详细介绍下项目的结构. 项目目 ...
- Vue2+VueRouter2+webpack 构建项目实战(四)接通api,先渲染个列表
Vue2+VueRouter2+webpack 构建项目实战(四)接通api,先渲染个列表: Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(一)基础知识概述
- Vue2+VueRouter2+webpack 构建项目实战(五):配置子路由
前言 通过前面几章的实战,我们已经顺利的构建项目,并且从API接口获取到数据并且渲染出来了.制作更多的页面,更复杂的应用,就是各位自己根据自己的项目去调整的事情了. 本章讲一下如何配置子路由,因为我们 ...
- Vue2+VueRouter2+webpack 构建项目实战(一):准备工作
环境准备 首先,要开始工作之前,还是需要把环境搭建好.需要的环境是nodejs+npm,当然现在安装node都自带了npm. 在终端下面输入命令node -v会有版本号出来.就说明安装成功了.输入np ...
- Vue2+VueRouter2+webpack 构建项目实战(四):接通api,渲染列表
通过前面几篇教程,我们已经顺利搭建起来了,并且已经组建好路由了.本章节,我们需要做一个列表页面,然后利用获取 http://cnodejs.org/api 的公开API,渲染出来. 我们打开src/p ...
- webpack+vue项目实战(四,前端与后端的数据交互和前端展示数据)
地址:https://segmentfault.com/a/1190000010063757 1.前言 今天要做的,就是在上一篇文章的基础上,进行功能页面的开发.简单点说呢,就是与后端的数据交互和怎么 ...
- 【大话QT之十六】使用ctkPluginFramework插件系统构建项目实战
"使用ctkPluginFramework插件系统构建项目实战",这篇文章是写博客以来最纠结的一篇文章. 倒不是由于技术都多么困难,而是想去描写叙述一个项目架构採用ctkPlugi ...
- miniFTP项目实战三
项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务 ...
- Vue2构建项目实战
转载整理自http://blog.csdn.net/fungleo/article/details/77575077 vue构建单页应用原理 SPA 不是指水疗.是 single page web a ...
随机推荐
- Pycharm Debug调试心得
1.操作步骤: 1-1.添加断点:直接在标记处点击鼠标左键即可.(删除断点只需再点击断点处即可) 1-2.Debug下运行代码 1-3.按照所需调试进行代码调试.Debug的调试方式如下所示: 分别为 ...
- 阿里妈妈前端团队出品的开源接口管理工具RAP第二代 http://rap2.taobao.org
RAP2-DELOS 开源社区版本 (后端API服务器) 项目地址:https://github.com/thx/rap2-delos RAP2是在RAP1基础上重做的新项目,它包含两个组件(对应两个 ...
- 关于mysql的update、delete、和insert into能否使用别名问题
在工作中遇到这样一个问题,就是mysql在insert into时能不能使用别名,大家会很奇怪为什么insert into使用别名呢?原因在于原来的项目中使用了user表,新项目要将user表拆分为u ...
- Java核心技术及面试指南面试题,基本数据类型、封装类和运算操作的面试题
2.1.5.1说说&和&&的区别,以及|与||的区别. &和|是位运算符,不怎么用,而&&和||是逻辑运算符,一般用在if,while,for等条件判断 ...
- 原生端与服务器通过sessionid实现session共享以及登录验证
注:原生端与服务器建立连接时产生的sessionid会变,跟上一次的不一样,为了保证sessionid一样,所以第一次服务器需要把sessionid返回给原生端,下一次与服务端会话时,原生端需要把这个 ...
- 【原创】《windows驱动开发技术详解》第4章实验总结二
1 实验要求(WDM驱动) 2 编写过程 2.1 确立整体架构 2.1.1 入口函数——DriverEntry (1)作用 设置pDriverObject结构体,注册AddDevi ...
- MySQL SQL语句执行顺序
MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作.其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来 ...
- 开源任务调度平台elastic-job-lite源码解析
前段时间写过一遍文章<一文揭秘定时任务调度框架quartz>,有读者建议我再讲讲elastic-job这个任务调度框架,年末没有那么忙,就来学习一下elastic-job. 首先一点,el ...
- 解读经典《C#高级编程》第七版 Page68-79.对象和类型.Chapter3
前言 新年好,本篇开始进入第三章,<对象和类型>,深刻理解C#的对象,对于使用好.Net类库非常重要. 01 类和结构 从使用角度看,结构和类的区别很小,比如,将结构定义转换为类,只需要将 ...
- 利用aiohttp制作异步爬虫
asyncio可以实现单线程并发IO操作,是Python中常用的异步处理模块.关于asyncio模块的介绍,笔者会在后续的文章中加以介绍,本文将会讲述一个基于asyncio实现的HTTP框架--a ...