_VueプロジェクトのWebフロントエンドプロジェクトの戦闘偽の米国企業] [アショカ教室

ディレクトリ
のVue 2.0
、VueのCLIは
1.1インストール
1.2プロジェクトの作成
1.3スタートプロジェクト
1.4ディレクトリスキーマ
1.5 WebPACKの構成
IIプロジェクトの戦闘
2.1技術アーキテクチャ
2.2ディレクトリの配備
2.3ルーティング
WebPACKの拡大2.4を
2.5がVUE CLI拡大
2.6データ
2.7開発モジュールを注文する
3、Vueの
3.1ルーティングガード

、VueのCLI
VUEプロジェクトでは、我々はなど、VUEファイルをコンパイルするES6ファイルをコンパイルするために、CSSにプリコンパイル言語をコンパイルしたい、開発を投影する前に、我々は準備をたくさんしなければなりません。VUE注文はVUE-cliの足場を提供し、開発前の準備を簡素化します。
1.1インストール
VUE-CLI、VUEの指示を提供し、グローバルにインストールして
-gの@ VUE / CLIのNPMをインストールし
、インストールが完了しVUEの指示を提供し、VUEの-Vでバージョン番号を確認
1.2プロジェクトの作成
作成したプロジェクトのパラメータによって作成された
VUEをプロジェクト名を作成します
プロジェクトVUEのCLIの作成も糸管理基づいて
NPMは、糸のインストール
NPMを置き換えるために、糸がパッケージマネージャで
インストールするには、糸によって、モジュールをインストールし、プロジェクト内の
NPMモジュールのインストール:NPMがインストール
糸のインストールを:糸は、モジュールの追加
プロジェクトを開始するために1.3を
糸でプロジェクトを開始するのに役立ちます。
1.4ディレクトリスキーマは、
依存モジュールnode_modules
パブリック静的リソースモジュールの
index.htmlを玄関のhtmlファイル
のfavicon.icoアイコンファイル
ディレクトリのsrc開発
資産のすべての静的リソース(WebPACKのが処理されます)
コンポーネントのすべてのコンポーネントの
ページをルーティングするビューを
App.vueアプリケーションコンポーネント(最初の文字のVUEは、コンポーネントファイルが大文字をするCLI。)
Main.jsプロジェクトエントリファイルの
ファイルルーティングrouter.js
store.jsストアファイル
.broserslistrcブラウザの設定
.eslintrc.jsのJSは、コンフィギュレーションチェック
.gitigonoreをgitのは、提出されたファイルとき無視
babel.config.jsのバベルプロファイル
package.jsonモジュール設定ファイル
postcss.config.js CSSコンパイラ構成
yarn.lock糸ロックファイル
_VueプロジェクトのWebフロントエンドプロジェクトの戦闘偽の米国企業] [アショカ教室
1.5 WebPACKの設定
のWebPACK WebPACKの構成によっても、VUEのCLIを、私たちは定義することができます設定
vue.config.jsファイルに(私たちはカスタマイズすることができます)
configureWebpackのWebPACKによって定義された構成
に役立つ1yarn

第二に、実際のプロジェクトでは、
我々は、モバイル端末購入サイトを実装します。
2.1テクニカルアーキテクチャの
VUE、vuex、VUEルータ、axios 、VUEのコンポーネント、VUE-CLI、レス| SCSS 、WebPACKの単一ページのアプリケーションを実現します。
2.2ディレクトリ展開
リファレンスVUEのcliディレクトリー構造は、WebPACKのコンパイル済みのプロジェクト
のsrcディレクトリの開発
資産静的リソース
コンポーネントのすべてのコンポーネントが
すべてのルーティングコンポーネントを見て
App.vueアプリケーションコンポーネント
main.jsエントリファイル
store.jsストアモジュールの
モジュールルーティングrouter.js
のindex.htmlを入り口のhtmlファイル
webpack.config.jsのWebPACKの構成
2.3ルートは
3つのページがあり、3つのルートを定義する
ホームのデフォルトルート
リスト/リスト/:IDの
詳細ページ/詳細/:上記ID述べ
WebPACKの拡大2.4
搭載機に
含ま搭載機処理を目次
目次ローダーが処理できない除外する
拡大2.5 VUEのCLIを
、我々は、出力すべての構成のVUEの設定(設定はWebPACKの備え)することができます
レンダリングを
_VueプロジェクトのWebフロントエンドプロジェクトの戦闘偽の米国企業] [アショカ教室_VueプロジェクトのWebフロントエンドプロジェクトの戦闘偽の米国企業] [アショカ教室_VueプロジェクトのWebフロントエンドプロジェクトの戦闘偽の米国企業] [アショカ教室_VueプロジェクトのWebフロントエンドプロジェクトの戦闘偽の米国企業] [アショカ教室

1// 定义配置
2module.exports = {
3 // vue入口
4 resolve: {
5 // 别名
6 alias: {
7 vue$: 'vue/dist/vue.js'
8 },
9 // 拓展名
10 extensions: ['.js', '.vue']
11 },
12 // 入口
13 entry: './src/main.js',
14 // 发布
15 output: {
16 filename: './dist/main.js'
17 },
18 // 模块
19 module: {
20 // 加载机
21 rules: [
22 // es6
23 {
24 test: /.js$/,
25 loader: 'babel-loader',
26 query: {
27 presets: ['es2015']
28 },
29 // 过滤目录
30 include: '/src/',
31 exclude: '/node_modules/'
32 },
33 // vue组件
34 {
35 test: /.vue$/,
36 loader: 'vue-loader'
37 },
38 // css
39 {
40 test: /.css$/,
41 loader: 'style-loader!css-loader'
42 },
43 // less
44 {
45 test: /.less$/,
46 loader: 'style-loader!css-loader!less-loader'
47 },
48 // scss
49 {
50 test: /.scss$/,
51 loader: 'style-loader!css-loader!sass-loader'
52 }
53 ]
54 }
55}

2.6数据
通常来说,网站中有两类数据
一类数据是不变的,每次打开浏览器看到的结果都是一样的,因此这类数据我们可以直接写在页面中,作为同步数据,
当我们加载完页面,我们就可以直接使用这类数据了
一类数据是可变的,每次打开浏览器看到的结果都是不一样的,因此这类数据我们可以作为异步数据,通过异步请求获取
当我们的页面加载完成之后,我们发布异步请求或者这类数据
1<!-- 分类模块 -->
2<ul class="home-types">
3 <router-link v-for="(item, index) in types" :key="index" tag="li" :to="'/list/' + item.id">
4 <img :src="'/img/icon/' + item.img" alt="">
5 <p>{{item.text}}</p>
6 </router-link>
7</ul>

2.7开发模块顺序
1 获取数据并存储
2 分析页面结构,写视图
3 根据视图写样式
4 绑定交互
三、Vue
3.1路由守卫
vue路由提供了三种监听路由变化的方式
第一种 全局监听
所有的路由变化,都会监听到
在路由实例化对象上,通过beforeEach, afterEach等方法监听路由的改变
参数是回调函数
回调函数的参数
第一个表示当前路由对象
第二个参数表示上一个路由对象
如果是beforeEach会出现第三个参数,类似express路由中间件的第三个参数,next方法,是否继续执行,该方法必须执行。
第二种 局部监听
只针对某个组件监听路由的变化
我们在组件实例化对象上,通过beforeRouteEnter, beforeRouteLeave, beforeRouteUpdate等方法可以监听路由的变化。
第一个参数表示当前的路由对象
第二个参数表示上一个路由对象
第三个参数表示执行进入路由的方法,必须要执行
第三种 watch监听
我们可以通过组件实例化对象的watch监听路由数据的变化
可以监听$route属性的变化,来判断路由
第一个参数表示当前的路由对象
第二个参数表示上一个路由对象
公式のネットワークでは、最初の2つのルーティング変える方法は、ルーティングガード呼ば監視
また、グローバルルーティングガードと呼ばれるグローバルモニタ
、ローカルルーティングガードと呼ばれるローカルモニタ
ローカルモニタ@ 1
2beforeRouteEnter(経路、oldRoute、次の) {
。にconsole.log 3(引数)
。4 //次の方法を実行しなければならない
。)(次の5
。6}、
7 //モニタは、ルーティング変更
8watch:{
変化//ルーティングデータを9。
10 $ルート(){
11 //コンソール。ログ(111、引数)
12 //更新データである
13 this.updateData()である;
14}
15}
16 //モニタはルーティングの変更
17router.afterEachを((アルギニン...)=>にconsole.log(アルギニン))
18である//変更前
19router.beforeEachを((経路、oldRoute、次へ)=> {
20にconsole.log(経路、oldRouteある)
21 //実行するために必要である
22)(次のページであり、
23は})

icketang:私は公共の番号を見つけるか、検索することができ、ソースコード、ケース、ビデオチュートリアルを、必要とします

おすすめ

転載: blog.51cto.com/14337100/2407815