vue-cli로 생성된 프로젝트, 다중 페이지 구현 방법 구성

亚连
풀어 주다: 2018-05-30 10:30:43
원래의
2074명이 탐색했습니다.

이제 vue-cli로 만든 프로젝트와 여러 페이지를 구성하는 구현 방법을 공유하겠습니다. 참고할 만한 가치가 있어 모두에게 도움이 되기를 바랍니다.

vue에서 공식적으로 제공하는 명령줄 도구인 vue-cli를 사용하면 단일 페이지 애플리케이션을 빠르게 구축할 수 있습니다. 기본 페이지 항목은 index.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>
로그인 후 복사

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 },
})
로그인 후 복사

을 모델로 한 항목 파일 Rule.vue 및 rule.js를 만듭니다. 수정 config/index .js

build는 컴파일 후 생성된 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

Modify build/webpack.base.conf.js

Configure item

entry: {
  app: &#39;./src/main.js&#39;,  
  rule: &#39;./src/rule.js&#39;
 },
로그인 후 복사

Modify build입니다. /webpack.dev.conf .js

Add

new HtmlWebpackPlugin({ 
   filename: &#39;rule.html&#39;, 
   template: &#39;rule.html&#39;, 
   inject: true, 
   chunks:[&#39;rule&#39;] 
  }),
로그인 후 복사

Modify build/webpack.prod.conf.js

Add

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 집계 계단식 쿼리 작업 예


링크에서 QR 코드를 생성하고 이를 그림으로 변환하는 JS 방법



위 내용은 vue-cli로 생성된 프로젝트, 다중 페이지 구현 방법 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!