この記事は主に webpack4 に基づいて React プロジェクト フレームワークを構築する方法を紹介します。内容が非常に優れているので、参考として共有します。
はじめに
フレームワークの紹介。webpac を使用して構築され、antd を統合した単一ページの反応アプリケーションです。 webpack-dev-server を使用してローカル サービスを開始し、ホット アップデートを追加して、開発とデバッグを容易にします。コードのカットと遅延読み込みにはバンドルローダーを使用します
CLIを使用せずに手動で構築されており、多数のコメントは初心者がWebpackを理解して学習し、反応プロジェクトを深く理解するのに適しています
スタートアップ
1 2 3 4 | git clone https:
cd react-demo
yarn
yarn start
|
ログイン後にコピー
パッケージング
ディレクトリ構造
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
|
ログイン後にコピー
バンドルローダーは遅延読み込みを使用します
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 | 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 | const files = require .context('./pages', 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: '/user',
component: User
},
{
path: '/user/:id',
component: User
}
]
|
ログイン後にコピー
上記はこの記事の概要です。すべての内容が皆さんの学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。
関連する推奨事項:
React でコンポーネントを作成する 3 つの方法とその違いについて
ファイル検索範囲を絞り込むための Webpack 最適化設定の概要
以上がwebpack4 に基づいて反応プロジェクト フレームワークを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。