コンフィグ/config.jsは、
ページへのルーティングリストを設定../layouts/NewPage
インポート './defaultSettings 'からdefaultSettings; // https://umijs.org/config/ インポート 'slash2'からスラッシュ; インポート ' ./plugin.config'からwebpackPlugin ; CONST {PWA、のprimaryColor = defaultSettings}; // あなたの生産者をpreview.pro.ant.designだけを使用していない; // preview.pro.ant.design特殊な環境変数、プロジェクトでそれを使用しないでください。 CONST {} = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION process.env; CONST isAntDesignProPreview = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'サイト' ; constのプラグイン= [ [ '海・プラグイン反応' 、 { antd:真、 DVA:{ HMR:真、 }、 ロケール:{ // デフォルトの偽 有効:真、 // デフォルトZH-CNの デフォルト: 'ZH-CN' 、 // デフォルト真、それが真であるとき、上書きnavigator.language` `使用するデフォルトの baseNavigator:真、 }、 dynamicImport:{ loadingComponent: './components/PageLoading/index' 、 webpackChunkName:真、 レベル: 3 、 }、 PWA:PWA ?{ workboxPluginMode: 'InjectManifest' 、 workboxOptions:{ importWorkboxFrom: 'ローカル' 、 }、 } :偽、// デフォルト近くのdll、なぜなら問題はhttps://github.com/ant-design/ant-design-pro/issues/ 4665 // DLLが特徴https://webpack.js.org/plugins/dll-plugin/ // DLLを:{ // 含まれる: 'DVA'、 'DVA /ルーター'、 'DVA /佐賀県'、「DVA /フェッチ']、 // 除外:[ '@のバベル/ランタイム'、 'netlify-ラムダ']、 // }、 }、 ]、 [ '海・プラグイン・プロブロック' 、 { moveMock:偽、 moveService:偽、 modifyRequest:真、 autoAddMenu:真、 } ] ]。// 针对preview.pro.ant.design的GA统计代码 場合(isAntDesignProPreview){ plugins.push([ '海・プラグインGA' 、 { コード: 'UA-72788897から6' 、 }、 ])。 Plugins.push([ 'UMI-プラグインプロ' 、 { SERVERURL: 'https://ant-design-pro.netlify.com' 、 } ]); } エクスポートデフォルト{ プラグインは、 ブロック:{ / / 国内のユーザーは、クラウドコードを使用することができます 。// ':defaultGitUrl https://gitee.com/ant-design/pro-blocks '、 defaultGitUrl: 'https://github.com/ant-design/pro-blocks'を、 } 、 ハッシュ:trueに、 ターゲット:{ IE: 11 、 }、 デベロッパーツール:isAntDesignProPreview? 'ソース-地図':偽、 // 海ルート:https://umijs.org/zh/guide/router.html 経路:[ { パス: '/ユーザー' 、 成分: '../layouts/UserLayout' 、 ルート:[ { 名: 'ログイン' 、 パス: '/ユーザ/ログイン' 、 成分: './user/login' 、 } ] }、 { パス: '/' 、 成分: ' ../layouts/SecurityLayout」、 ルート:[ { パス:'/'、 成分: '../layouts/BasicLayout' 、 権限:[ '管理者'、 'ユーザ' ]、 ルート:[ { パス: '/' 、 リダイレクト: '/歓迎' 、 }、 { パス: '/歓迎' 、 名称: 'ウェルカム' 、 アイコン: '笑顔' 、 成分: './Welcome' 、 }、 { 名前:テーブル・リスト」 、'テーブルリスト' { パス: '/リスト/テーブルリスト' 、 成分: './list/table-list' 、 }、 { 名: '客户诉求' 、 パス: '/リスト' 、 成分: '../layouts/NewPage' 、 }、 { コンポーネント: './404' 、 } ] }、 { コンポーネント: ' ./404' 、 } ] }、 成分:」./404'、 } ]、 // antdためのテーマ:https://ant.design/docs/react/customize-theme-cn テーマ:{ '原色' :のprimaryColor、 }、 DEFINE:{ ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION || ' 」、// preview.pro.ant.designは、あなたの生産者には使用しないでください。あなたのプロジェクトでそれを使用しない、特殊な環境変数をpreview.pro.ant.design。 }、 IgnoreMomentLocale:trueに、 lessLoaderOptions:{ JavascriptEnabled:trueに、 }、 disableRedirectHoist:真、 cssLoaderOptions:{ モジュール:真、 getLocalIdent:(コンテキスト_、ローカル名) => { 場合( context.resourcePath.includes( 'node_modules')|| context.resourcePath.includes( 'ant.design.pro.less' )|| context.resourcePath.includes( 'global.less' ) ){ 戻りローカル名と、 } CONSTマッチ= context.resourcePath.match(/ SRC(*)/。 )。 もし(一致&&一致[1 ]){ CONST antdProPath =マッチ[1] .replace(」。以下、 ''); CONSTARR = スラッシュ(antdProPath) .split( '/' ) .MAP(A => a.replace(/([AZ])/ G ' - $ 1' )) .MAP(A => a.toLowerCase()) ; 戻り $ {ローカル名} `.replace( - / - / gで、 ' - '` antdプロ$ {arr.join( ' - ')を} )。 } 戻りローカル名。 }、 }、 マニフェスト:{ basePathを: '/' 、 }、 chainWebpack:webpackPlugin、 プロキシ:{ '/ API' :{ ターゲット: 'のhttp:// localhostを:8080 /サンタ' 、 changeOrigin。 } } };
/ BasicLayout.jsxメニューリクエストサーバを取得config.jsの自動生産をしてレイアウトを変更することによって:メニューは、次の2つの方法を生成します