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 相关文章推荐
html中使用javascript调用本地程序(exe、doc等)实现代码
Apr 26 Javascript
让网页跳转到指定位置的jquery代码非书签
Sep 06 Javascript
修复bash漏洞的shell脚本分享
Dec 31 Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 Javascript
微信小程序 绘图之饼图实现
Oct 24 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
Dec 15 Javascript
Vue.Js中的$watch()方法总结
Mar 23 Javascript
Js利用console计算代码运行时间的方法示例
Sep 24 Javascript
angular2中Http请求原理与用法详解
Jan 11 Javascript
深入理解ES6中let和闭包
Feb 22 Javascript
详解如何在你的Vue项目配置vux
Jun 04 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
Jul 19 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
PHP中number_format()函数的用法讲解
2019/04/08 PHP
PHP实现简易图形计算器
2020/08/28 PHP
javascript 函数使用说明
2010/04/07 Javascript
jquery ui resizable bug解决方法
2010/10/26 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
Node.js 的 GC 机制详解
2019/06/03 Javascript
ES6基础之字符串和函数的拓展详解
2019/08/22 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
2020/11/12 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
Python 错误和异常代码详解
2018/01/29 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
python 编码规范整理
2018/05/05 Python
Django 路由系统URLconf的使用
2018/10/11 Python
pandas 将索引值相加的方法
2018/11/15 Python
python 接收处理外带的参数方法
2018/12/03 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
Python 读取位于包中的数据文件
2020/08/07 Python
法国足球商店:Footcenter
2019/07/06 全球购物
理财投资建议书
2014/03/12 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
网络技术专业求职信
2014/07/13 职场文书
英语课外活动总结
2014/08/27 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP