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 仿QQ校友的DIV模拟窗口效果源码
Mar 24 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
Jan 26 Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 Javascript
JavaScript实现动态创建CSS样式规则方案
Sep 06 Javascript
JavaScript 正则表达式中global模式的特性
Feb 25 Javascript
解决给dom元素绑定click等事件无效问题的方法
Feb 17 Javascript
JS实现动态修改table及合并单元格的方法示例
Feb 20 Javascript
详解可以用在VS Code中的正则表达式小技巧
May 14 Javascript
小程序和web画三角形实现解析
Sep 02 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 Javascript
WebStorm中如何将自己的代码上传到github示例详解
Oct 28 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中str_replace函数使用小结
2008/10/11 PHP
php获取汉字首字母的函数
2013/11/07 PHP
php 使用file_get_contents读取大文件的方法
2014/11/13 PHP
分享php分页的功能模块
2015/06/16 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
jQuery 解析xml文件
2009/08/09 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
详解js类型判断
2018/05/22 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
jQuery实现简单的Ajax调用功能示例
2019/02/15 jQuery
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
微信小程序间使用navigator跳转传值问题实例分析
2020/03/27 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
django 修改server端口号的方法
2018/05/14 Python
利用python计算时间差(返回天数)
2019/09/07 Python
详细分析Python垃圾回收机制
2020/07/01 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
网络技术专业推荐信
2014/02/20 职场文书
禁烟标语大全
2014/06/11 职场文书
单位车辆管理制度
2015/08/05 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
nginx安装以及配置的详细过程记录
2021/09/15 Servers
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL