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 相关文章推荐
js 判断计算字符串长度/判断空的简单方法
Aug 05 Javascript
Javascript alert消息换行的方法
Aug 07 Javascript
jquery 获取dom固定元素 添加样式的简单实例
Feb 04 Javascript
js控制当再次点击按钮时的间隔时间
Jun 03 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
Apr 17 Javascript
基于jQuery实现简单的折叠菜单效果
Nov 23 Javascript
微信小程序 WebSocket详解及应用
Jan 21 Javascript
JavaScript门面模式详解
Oct 19 Javascript
JavaScript使用math.js进行精确计算操作示例
Jun 19 Javascript
微信小程序dom操作的替代思路实例分析
Dec 06 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 Javascript
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
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
PHP实现添加购物车功能
2017/03/06 PHP
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
Vue.js的动态组件模板的实现
2018/11/26 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python制作爬虫抓取美女图
2016/01/20 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
使用Python实现简单的服务器功能
2017/08/25 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
Python dict的常用方法示例代码
2020/06/23 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
护士毕业生自荐信
2014/02/07 职场文书
纪律教育月活动总结
2014/08/26 职场文书
2014年大学生工作总结
2014/11/20 职场文书
行政人事主管岗位职责
2015/04/11 职场文书
面试复试通知单
2015/04/24 职场文书
感恩教师节主题班会
2015/08/12 职场文书
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python