コンポーネントアセンブリの導入で話す方法によって、記録上のルーティングのVue-cliのピット構成ステップ、...(本当にヴュー-CIL)

コンポーネントアセンブリの導入で話す方法によって、記録上のルーティングのVue-cliのピット構成ステップ、...(本当にヴュー-CIL)

彼らは記事が推測されていないので、記事を説明する傾向があるので、その彼らが道に迷って行きましょう...白い肌、ほとんどの時間であるが、もう少し楽しみ~~

ちなみに、私がインストールさを伝えるあります8.12nodevue-cli3.8.0

そう、ちょうど最近nodejsに従事し、環境についての最初の話は、今、私たちは2年前、その後、静的なページをコースラインと静的なページをデザインしたいが、私はラインを持っているでしょうし、実際、この種のものは、今の学校を教えるためだった、全く意味がありません話はそう来る......

ウェブサイトのページうーんを持つことができないので、必然的に、ページをジャンプする必要があるので、一般的に(はい、これらの単語は単語の数を充電することがある...私は言葉の数が....ああ満たされた理由を言いたい)複数のページを持っています

しかし、その後、再びVueの足場内部の...だけちょっとああ、ちょっとああジャンプする方法を私に呼ばれるファイルXXX.vue、それを行う方法を、私は時々、公式文書(最も信頼できる、多くの場合、公式文書に目を通す必要がありました時には、あなたが考えるよりも、それをすべての公式ピット恐怖は...駅の関係者は再びフルバージョンをお勧めします探偵テロの処分を踊っピカチュウ)

うーん...真剣に話を、公式サイトの説明によると、ああ、あなたはジャンプページを達成するためのルーティングを設定する必要がありますが、ルートはGeshaあり、それはストリートフラッター食べて、ああ食べて明らかに、食べてはいけません。しかし、ここであなたは(...私はジャンプ最後の点に投稿された書かれた記事の自分の理解で)科学のルーティングを導入することができます

ここでのルーティングは、それを構成する方法を、仮想ルーティング問題で、設定ファイルを参照するに、ページジャンプVueの足場を達成する必要がある場合はこれまでのところ、あなたは、事は知っている、と言うことになります私たちは、ルーティングを設定する必要があります。

実際には、これは難しいことではありません、それは、多くの記事指定し、またプロジェクトの階層絵をラベル付けしていない...それは、とても長い長いったらしい、より多くの不快な...非常に抽象的に見えた以下のコードで始まりましたA。


開始

まず第一にnpm i @vue/cli -g、この、それを言うことはありません。何?あなたは、ああ、聞いてそれを話すことはありません、それの袋を入れて、何を言いたいです。

.....さて、大丈夫、今回だけ、今回だけは、@vue/cliそれがすぐに構築コマンド-Vueの公式で3.x、Vueの足場のバージョンを2.xダウンロードする方法をnpm install vue-cli -globelちょうどよりインストールし、あなたが見る、3.xマルチノックのバージョン10文字なので、遊ぶ3.xことを。

そして、プロジェクトをビルドvue create project-nameこんにちは!ここでproject-nameあなたが直接を失わせないproject-nameねえああ、!ここでは、プロジェクトの名前を指し、それはどんな違法名にすることはできません.....

ここでは、Vueが足場を設定し、シンプルな、右...何?ポイントの横にありますか?いいえ、ああ、私たちは話している足場Vueのはなぜを構築する方法はないでしょうか?ルーティングの設定?それはあなたがしたいですか次のファラオを行うべきではありませんか?


いくつかのことの構成の前に

私が最初に何か問題がある場合は...他の記事を探してください、または私に連絡し、比較することができ、現在のディレクトリ構造を掲示、私の電話番号は...フン、十分なコメント

    ああ...これは、入門段落のドキュメントディレクトリ構造の直接コピーブートストラップ構造図である。このシンボルの内容を変更...本当に悪い塗装ORZの

    SRC /   
    ├──資産/   
    │└──logo.png 
    ├──コンポーネント/   
    │└──HelloWorld.vue 
    ├──App.vue   
    └──main.js

理論的にはそんなに、あなたはそれが同じものではありません見たら....私の悪いメモリはここでは、おそらくありますが代わってファイルやフォルダのいくつかの意味です。

  • SRC - プロジェクトのルートディレクトリ
  • 資産 - リソースファイル(おそらく同じリソースでなければなりません)
  • コンポーネント - コンポーネントライブラリ
  • HelloWorld.vue - HelloWorldのテンプレート
  • App.vue - エントリファイル、グローバルテンプレート(ここではピット上)

同じ場所がない場合は、環境の確認は、完了し、私が提起したいということです....またはあなたが後ろに直接見ることができる、唯一の伝説のビッグブラザーに存在しています....

次に際の経路であるが、無使用の構成は、それはすごいジャンプするHelloWorldのコンポーネントであり、自分自身をコールバック所有して?

それを行うにはどのようにこの時間は、もちろん、私はこことコンポーネントのすべての種類を作成し、詠唱いくつかのマルチコピーで次のように、ファイルの内容がうまく、ファイルのディレクトリを変更するように変更

最初の文の下では、プラス新しいコンテンツは、実装されている場合、次の3つのファイルを再度追加し、第1の削除プロセスのステージの概要を見るためにあなたの現在のディレクトリの内容を削除するにはマイナス記号に追加されますHelloWorldのファイル。

    SRC /   
    ├──資産/   
    │└──logo.png 
    ├──コンポーネント/   
- ├──HelloWorld.vue│ 
+│├──index.vue 
+│├──blog.vue 
+│└──ヘッダ。 VUE 
    ├──App.vue   
    └──main.js

そして、3つのファイルの新しい追加について書くことに満足しました

    <!-- index.vue -->

    <template>
    
        <header_page/>
        
        <div>
            Welcome to the —— index!
        </div>
    </template>
    
    <script>
        import header_page from './header'
    
        export default {
            name: "index",  // 改成文件名或者你喜欢的名字好了...我看其它博客都用文件名的...
            components: {
                header_page
            }
        }
    </script>
    
    <style scoped></style>
    <!-- blog.vue -->

    <template>
    
        <header_page/>
        
        <div>
            Welcome to the —— blog!
        </div>
    </template>
    
    <script>
        import header_page from './header'
    
        export default {
            name: "blog",  // 改成文件名或者你喜欢的名字好了...我看其它博客都用文件名的...
            components: {
                header_page
            }
        }
    </script>
    
    <style scoped></style>
    <!-- header.vue -->

    <template>
        <ul>
            <router-link tag="li" to="/">
                <a>
                    go_index
                </a>
            </router-link>
            <router-link tag="li" to="/blog">
                <a>
                    go_blog
                </a>
            </router-link>
        </ul>
    </template>
    
    <script>
        export default {
            name: "header"  // 改成文件名或者你喜欢的名字好了...我看其它博客都用文件名的...
        }
    </script>
    
    <style scoped></style>

header.vueこれは、次のことが言えるが、うわべだけ、最後に具体的なプロセスは、私は再びそれを説明します。

接頭辞がありますので、その後、可読性が悪い書き込み、ので、私の背中はまっすぐに省略linkし、view

ことを最初にrouter-link一般的ラベル、router-view組み合わせて使用し、linkルートを切り替えるため、viewここでルート描画処理に対応するプロパティは、ラベルの原因であるが、に変換された値変換にタグをlinktagtagtohref


設定ルーティング

底にSRCというディレクトリを作成しrouterたフォルダの、そして作成index.jsコースを、あなたはまた、他の名前を使用することができ、一味違うときリードパック、少しだけ。

その後、我々は次のような構造があるプロジェクト:

    SRC /   
    ├──資産/   
    │└──logo.png 
    ├──コンポーネント/   
    │├──index.vue 
    │├──blog.vue 
    │└──header.vue 
+├──ルータ/   
+│└─ ─index.js 
    ├──App.vue   
    └──main.js

設定routerフォルダのindexファイル

import Vue from 'vue';
import Router from 'vue-router';  // vue-cli全套不包括路由...需要自己下载,大概是因为有一些人比较喜欢用第三方插件,所以就不集成在一起了
import blog from '@/components/blog';

Vue.use(Router);

export default new Router({
    routes: [
        {
            path: '/',  // 这个是指默认渲染的文件,这里我渲染了index文件
            name: 'home',
            component: () => import('@/components/index')  // es6语法,采用了比较炫酷的写法,具体看个人爱好,问题解决来自一位大佬
        },
        {
            path: '/blog',
            name: 'blog',
            component: blog
        },
    ]
})

実際には、これを使用すべきではありません...ので、vue-routerインストールされていない、詳細な調査を受けpackage.jsonていることを知ることができるようになりますdevDependenciesがないvue-router
、うまくインストールnpm i vue-router --save-dev必ずしも使用しないジャンプページが自分の家であるのでvue-router、そのプロジェクトはうまく保存し、グローバルインストールする必要はありません

ES6文法を理解していないために、で、記事の何かを見つけるためにオンラインで見てBabel、JS ES6構文の公式ウェブサイトを書き、それをコンパイルし、それが理解を深めて、どのようなものであったかES5に変換ご覧ください。

それはどのようなすべてのですか?もちろんそうではありません!

次App.vueのための設定ファイルがある、彼女はそれの名前を言及するために、あまりにも長い間無視されてきました。


<!-- app.vue -->

<template>
    <div id="app">

        <router-view/>

    </div>
</template>

<script>

    export default {
        name: 'app',

        components: {}
    }

</script>

<style>
    #app {
        font-family: 'Avenir', Helvetica, Arial, sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-align: center;
        color: #2c3e50;
        margin-top: 60px;
    }
</style>

App.vue非常に単純な、スタイルは、移動しない、物事の束のちょうど声明、ライン上で実行するための機能を使用し、ちょうどメイン関数のように、基本的に何も移動しません、削除されたtemplateプラスところrouter-view、ビンは毎日それを呼び出します〜

しかし、私はまだ、ああ、コンパイラエラーは、見つかった次のファイル、チェックmain.jsに移動したことがなかったが、ポイントはただ機能を書き出すために、ああ、元のルートが参照されていない、見に行くが、関数を呼び出していませんでした。

// main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'

Vue.config.productionTip = false;

new Vue({
  render: h => h(App),
  router,
}).$mount('#app');

ここでは、単純なケースを終了します。

プロジェクトを実行し、npm run serve


プロセスへ

ここで私は、最初のファイル構造に来て投げ、および機能ファイルのすべてを書き留めするつもりです

    SRC /   
    ├──資産/   
    │└──logo.png -静的リソース
    ├──コンポーネント/     
    │├──index.vue - VUEテンプレート
    │├──blog.vue - VUEテンプレート
    │└──ヘッダ.vue -ルータリンク
    ├──ルータ/   
    │└──index.js -設定ルータ
    ├──App.vue -ルータ-ビュー
    └──main.js - './route'からインポートXXX

main.js入り口として、ルートをインポートした後と作成しApp.vue、それが作成されたときにオブジェクトをApp.vuerouter-viewなりますプリレンダリングrouterコンフィギュレーションファイルのindex.jsデフォルトルートのセットは、自宅があります。各ページで順番に呼び出してheaderコンポーネントを、コンポーネントは2つのハイパーリンクがルートをジャンプする]をクリックし、ポイントすることができます。

はい、vueページをジャンプしない、実際に実装されますが、ページをレンダリングします。

App.vue共通層としてApp.vueコンテンツを全ての層にレンダリングされ、内部router-viewサブページを切り替えるレンダリングされるルーティング経路をApp.vue切り替えた後、レンダリング経路をたどるであろう。

言い換えれば、vueそれは擬似ですジャンプページは、ページの再レンダリングは、同じことを達成するために、ページジャンプのように見えます。

ああ、ほとんど忘れてしまった、ここでは紹介のルートが存在する必要があります...しかし、完全に移動したくない、私は名前を掲載しました


フロント構造は、避け、避けてください。

おすすめ

転載: www.cnblogs.com/Arunoido/p/10967998.html