AntのデザインProのルーティングメニュー

コンフィグ/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つの方法を生成します

おすすめ

転載: www.cnblogs.com/xiaoyutongxue/p/11408740.html