vue-cliで作成したプロジェクト、マルチページ実装方法を設定

亚连
リリース: 2018-05-30 10:30:43
オリジナル
2074 人が閲覧しました

今回は、vue-cli で作成したプロジェクトと、複数のページを設定する実装方法を共有します。参考になると思います。

vue が公式に提供しているコマンドラインツール vue-cli は、シングルページのアプリケーションを素早く構築できます。デフォルトのページエントリは、index.html です。したがって、複数のページが必要な場合、その設定方法は実際には複雑ではありません。例として、新しい 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をモデルにしたエントリーファイルRule.vueとrule.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.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

Configureentry

entry: {
  app: &#39;./src/main.js&#39;,  
  rule: &#39;./src/rule.js&#39;
 },
ログイン後にコピー

Modify build /webpack.dev.conf .js

追加

new HtmlWebpackPlugin({ 
   filename: &#39;rule.html&#39;, 
   template: &#39;rule.html&#39;, 
   inject: true, 
   chunks:[&#39;rule&#39;] 
  }),
ログイン後にコピー

build/webpack.prod.conf.js

追加

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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!