Antd需要負荷設定、エイリアスエイリアス経路、及び従来の構成

Antd需要負荷設定、エイリアスエイリアス経路、及び従来の構成

1.負荷需要とエイリアスエイリアス

プラグインをインストールする必要性について

npm i antd react-app-rewired customize-cra babel-plugin-import less less-loader -S

コードに第二のステップをコピーし、にpackage.jsonファイルを変更します。

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
}

次のように修正されたコードをコピーしてください:

"scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
}

第三段階のコードをコピー
:さらに参照公式サイト
antd公式サイトを

読み込み、ディレクトリファイルと設定-overrides.jsを作成します。

    const { override, fixBabelImports, addLessLoader, addWebpackAlias } = require('customize-cra');
    const path = require('path');
    function resolve(dir) {
        return path.join(__dirname, '.', dir)
    }

    module.exports = override(
        // antd按需加载,不需要每个页面都引入"antd/dist/antd.css"了
        fixBabelImports('import', {
          libraryName: 'antd',
          libraryDirectory: 'es',
          style: true  //这里一定要写true,css和less都不行
        }),
        // 配置路径别名
        addWebpackAlias({
          @: resolve("src")
        })
  )

2.デコレータの設定

  • インストール

npm install @babel/plugin-proposal-decorators --save

  • コンフィギュレーション

設定-overrides.jsに導入AddDecoratorsLegacy

    const { override, fixBabelImports,  addWebpackAlias ,addDecoratorsLegacy} = require('customize-cra');
    const path = require("path")
    module.exports = override(
      fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: 'css',
      }),
      addWebpackAlias({
        '@': path.join(__dirname, "src")
      }),
      addDecoratorsLegacy()//使用装饰器
    );
  • 使用
import React, { Component } from 'react'
    
    const withName = (Com) => {
      class Hoc extends Component {
        constructor(props) {
          super(props);
        }
        render() {
          return (
            <Com {...this.props} name="hansu"></Com>
          )
        }
      }
      return Hoc
    }
    
    @withName
    class Comment extends Component{
      render(){
      return (
        <div>
          {this.props.name}
        </div>
      )}
    }
    
 export default Comment

3.vscodeプラグ

一般的なプラグイン

  • ES7は/ Reduxの/ GraphQL /リアクト - ネイティブスニペットに反応します

RCC:通常の組立
RFC:純粋な成分
...

  • 反応-ネイティブ/反応/ ReduxのスニペットES6 / ES7について

IMR:REACTの導入
CCR:導入手段を
...

おすすめ

転載: blog.csdn.net/weixin_44003190/article/details/90577799