ホームページ > ウェブフロントエンド > jsチュートリアル > webpack4 に基づいて反応プロジェクト フレームワークを構築する方法

webpack4 に基づいて反応プロジェクト フレームワークを構築する方法

不言
リリース: 2018-06-30 15:24:30
オリジナル
1823 人が閲覧しました

この記事は主に webpack4 に基づいて React プロジェクト フレームワークを構築する方法を紹介します。内容が非常に優れているので、参考として共有します。

はじめに

フレームワークの紹介。webpac を使用して構築され、antd を統合した単一ページの反応アプリケーションです。 webpack-dev-server を使用してローカル サービスを開始し、ホット アップデートを追加して、開発とデバッグを容易にします。コードのカットと遅延読み込みにはバンドルローダーを使用します

CLIを使用せずに手動で構築されており、多数のコメントは初心者がWebpackを理解して学習し、反応プロジェクトを深く理解するのに適しています

スタートアップ

1

2

3

4

git clone https://gitee.com/wjj0720/react-demo.git

cd react-demo

yarn

yarn start

ログイン後にコピー

パッケージング

1

yarn build

ログイン後にコピー

ディレクトリ構造

1

2

3

4

5

6

7

8

9

10

11

12

13

14

+node_modules

-src

 +asset

 +Layout

 +pages

 +redux

 +utils

 +app.js

 +index.html

 +index.js

.babelrc

package.json

postcss.config.js

webpack.config.js //webpack 配置

ログイン後にコピー

バンドルローダーは遅延読み込みを使用します

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

// webpack.config.js 配置

module: {

 rules: [

  {

   test: /\.bundle\.js$/,

   use: {

    loader: 'bundle-loader',

    options: {

     name: '[name]',

     lazy: true

    }

   }

  }

 ]

}

// 页面引入组件

import Home from "bundle-loader?lazy&name=[name]!./Home";

 

// 组件使用 因为组件懒加载 是通过异步的形式引入 所以不能再页面直接以标签的形式使用 需要做使用封装

import React, {Component} from 'react'

import { withRouter } from 'react-router-dom'

class LazyLoad extends Component {

 state = {

  LoadOver: null

 }

 componentWillMount() {

  this.props.Loading(c => {

   this.setState({

    LoadOver: withRouter(c.default)

   })

  })

 }

 

 render() {

  let {LoadOver} = this.state;

  return (

   LoadOver ? <LoadOver/> : <p>加载动画</p>

  )

 }

}

export default LazyLoad

 

// 通过封装的懒加载组件过度 增加加载动画

<LazyLoad Loading={Home} />

ログイン後にコピー

ルーティング設定

pagesフォルダ内のRoute.jsがモジュール

reduxの使い方の紹介


reduxミドルウェアについて

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

// 通过require.context读取模块下路由文件

const files = require.context(&#39;./pages&#39;, true, /route\.js$/)

let routers = files.keys().reduce((routers, route) => {

 let router = files(route).default

 return routers.concat(router)

}, [])

 

// 模块路由文件格式

import User from "bundle-loader?lazy&name=[name]!./User";

export default [

 {

  path: &#39;/user&#39;,

  component: User

 },

 {

  path: &#39;/user/:id&#39;,

  component: User

 }

]

ログイン後にコピー

上記はこの記事の概要です。すべての内容が皆さんの学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

React でコンポーネントを作成する 3 つの方法とその違いについて

ファイル検索範囲を絞り込むための Webpack 最適化設定の概要



以上がwebpack4 に基づいて反応プロジェクト フレームワークを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート