vue-cli创建的项目,配置多页面的实现方法


Posted in Javascript onMarch 15, 2018

vue官方提供的命令行工具vue-cli,能够快速搭建单页应用。默认一个页面入口index.html,那么,如果我们需要多页面该如何配置,实际上也不复杂

假设要新建的页面是rule,以下以rule为例

创建新的html页面

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width,initial-scale=1.0">
		<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<title></title>
	</head>
	<body>
		<span style="color:#000000;"><div id="rule"></div></span>
		<!-- built files will be auto injected -->
	</body>
</html>

创建入口文件Rule.vue和rule.js,仿照App.vue和main.js

<template>
	<div id="rule">
		<router-view></router-view>
	</div>
</template>
<script>
	export default {
		name: 'lottery',
		data() {
			return {
			}
		},
		mounted: function() {
			
			this.$router.replace({
					path:'/rule'
			});
		},
	}
</script>
<style lang="less">
	body{
		margin:0;
		padding:0;
	}
</style>

rule.js

import Vue from 'vue'
import Rule from './Rule.vue'
import router from './router'
import $ from 'jquery'
//import vConsole from 'vconsole'
import fastclick from 'fastclick'
Vue.config.productionTip = false
fastclick.attach(document.body)
Vue.config.productionTip = false;
 
/* eslint-disable no-new */
new Vue({
 el: '#rule',
 router,
 template: '<Rule/>',
 components: { Rule },
})

修改config/index.js

build添加rule地址,即编译后生成的rule.html的地址和名字

build: {
  // Template for index.html
  index: path.resolve(__dirname, '../dist/index.php'),
  rule: path.resolve(__dirname, '../dist/rule.php'),
  ……
 }

rule: path.resolve(__dirname, '../dist/rule.php')表示编译后再dist文件下,rule.html编译后文件名为rule.php

修改build/webpack.base.conf.js

配置entry

entry: {
  app: './src/main.js',  
  rule: './src/rule.js'
 },

修改build/webpack.dev.conf.js

在plugins增加

new HtmlWebpackPlugin({ 
   filename: 'rule.html', 
   template: 'rule.html', 
   inject: true, 
   chunks:['rule'] 
  }),

修改build/webpack.prod.conf.js

在plugins增加

new HtmlWebpackPlugin({
   filename: config.build.rule,
   template: 'rule.html',
   inject: true,
   minify: {
    removeComments: true,
    collapseWhitespace: true,
    removeAttributeQuotes: true
    // more options:
    // https://github.com/kangax/html-minifier#options-quick-reference
   },
   // necessary to consistently work with multiple chunks via CommonsChunkPlugin
   chunksSortMode: 'dependency',
   chunks: ['manifest','vendor','rule']
  }),

以上全部

当后台地址跳转到你的新建的页面后,由于现在配置的默认路由是公用的,可自己配置多个路由文件,分别引用。

可在Rule.vue中路由跳转到指定路由,以实现页面控制

mounted: function() {
			
	this.$router.replace({
		path:'/rule'
	});
},

以上这篇vue-cli创建的项目,配置多页面的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jQuery制作迷你背词汇工具
Jul 27 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 Javascript
jQuery实现统计输入文字个数的方法
Mar 11 Javascript
详解Backbone.js框架中的模型Model与其集合collection
May 05 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
Dec 28 Javascript
Vue中img的src属性绑定与static文件夹实例
May 18 Javascript
Vue项目中引入外部文件的方法(css、js、less)
Jul 24 Javascript
常用的9个JavaScript图表库详解
Dec 19 Javascript
jQuery实现轮播图及其原理详解
Apr 12 jQuery
JS实现checkbox互斥(单选)功能示例
May 04 Javascript
jQuery实现倒计时功能完整示例
Jun 01 jQuery
vscode自定义vue模板的实现
Jan 27 Vue.js
mpvue中配置vuex并持久化到本地Storage图文教程解析
Mar 15 #Javascript
iview中Select 选择器多选校验方法
Mar 15 #Javascript
用Axios Element实现全局的请求loading的方法
Mar 15 #Javascript
基于IView中on-change属性的使用详解
Mar 15 #Javascript
解决iView中时间控件选择的时间总是少一天的问题
Mar 15 #Javascript
iview日期控件,双向绑定日期格式的方法
Mar 15 #Javascript
vue iview组件表格 render函数的使用方法详解
Mar 15 #Javascript
You might like
总集篇&特番节目先行播出!《SAO Alicization War of Underworld》第2季度TV动画4月25日放送!
2020/03/06 日漫
elgg 获取文件图标地址的方法
2010/03/20 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
PHP解码unicode编码的中文字符代码分享
2014/08/13 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
汽修专业学生自我鉴定
2013/11/16 职场文书
实习自我鉴定
2013/12/15 职场文书
基层干部十八大感言
2014/01/19 职场文书
军训自我鉴定范文
2014/02/13 职场文书
毕业论文评语大全
2014/04/29 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
八一建军节主持词
2015/07/01 职场文书
《青山不老》教学反思
2016/02/22 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL