注:vue单页面第一次打开慢,页面切换非常快;vue多页面单页面打开快,但是每次切换页面都要加载页面数据,相对较慢。
1、添加多页面配置
在工程根路径下(package.json同目录)添加添加vue.config.js配置文件,内容为:
module.exports = { pages: {
index: \'src/main.js\', home: { // 应用入口配置,相当于单页面应用的main.js,必需项 entry: \'src/modules/home/home.js\', // 应用的模版,相当于单页面应用的public/index.html,可选项,省略时默认与模块名一致 template: \'public/home.html\', // 编译后在dist目录的输出文件名,可选项,省略时默认与模块名一致 filename: \'home.html\', // 标题,可选项,一般情况不使用,通常是在路由切换时设置title // 需要注意的是使用title属性template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title> title: \'homepage\', // 包含的模块,可选项 chunks: [\'home\'] }, // 只有entry属性时,直接用字符串表示模块入口 about: \'src/modules/client/about.js\' } }
2、创建多页面应用
创建模块,在src下创建目录modules,在modules下创建两个模块home和about;在public下添加模版home.html和about.html。完成后工程结构如下:
3、应用路由配置
import Vue from \'vue\' import Router from \'vue-router\' Vue.use(Router) export default new Router({ routes: [ { path: \'/\', name: \'home\', component: (resolve) => require([\'./Home.vue\'], resolve) } ] })
import Vue from \'vue\' import Router from \'vue-router\' Vue.use(Router) export default new Router({ routes: [ { path: \'/about\', name: \'about\', component: (resolve) => require([\'./About.vue\'], resolve) } ] })
4、页面添加链接
<template>
<div id="app">
<nav>
<a href="home.html">Home</a> |
<a href="about.html">About</a>
</nav>
</div>
</template>