首頁  >  文章  >  web前端  >  vue-cli建立的專案,配置多頁面的實作方法

vue-cli建立的專案,配置多頁面的實作方法

亚连
亚连原創
2018-05-30 10:30:432091瀏覽

下面我就為大家分享一篇vue-cli創建的項目,配置多頁面的實現方法,具有很好的參考價值,希望對大家有所幫助。

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;"><p id="rule"></p></span>
		<!-- built files will be auto injected -->
	</body>
</html>

#建立入口檔Rule.vue和rule.js,仿照App.vue和main. js

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

rule.js

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

修改config/index.js

build加入rule位址,即編譯後產生的rule.html的位址與名字

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

#rule: path.resolve(__dirname, '../dist/rule.php')表示編譯後再dist檔下,rule.html編譯後檔名為rule.php

#修改build/webpack.base.conf.js

設定entry

#
entry: {
  app: &#39;./src/main.js&#39;,  
  rule: &#39;./src/rule.js&#39;
 },

##修改build/webpack.dev.conf .js

在plugins增加

new HtmlWebpackPlugin({ 
   filename: &#39;rule.html&#39;, 
   template: &#39;rule.html&#39;, 
   inject: true, 
   chunks:[&#39;rule&#39;] 
  }),

修改build/webpack.prod.conf.js

#在plugins增加

new HtmlWebpackPlugin({
   filename: config.build.rule,
   template: &#39;rule.html&#39;,
   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: &#39;dependency&#39;,
   chunks: [&#39;manifest&#39;,&#39;vendor&#39;,&#39;rule&#39;]
  }),

#以上全部##當後台位址跳到你的新建的頁面後,由於現在設定的預設路由是公用的,可自行設定多個路由文件,分別引用。

可在Rule.vue中路由跳到指定路由,以實現頁面控制

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

上面是我整理給大家的,希望未來會對大家有幫助。

相關文章:

基於vue1和vue2取得dom元素的方法


nodejs mongodb aggregate級聯查詢作業範例


JS實作將連結產生二維碼並轉換為圖片的方法


以上是vue-cli建立的專案,配置多頁面的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn