create-react-appプロジェクトless構成の追加

1779 ワード

注意:Joeny-思Noから抜粋create-react-appを使用して作成されたプロジェクトはlessがデフォルトでサポートされていないため、手動で構成する必要があります.
プロファイルの露出create-react-appで生成されたプロジェクト文は、webpack関連のプロファイルが見えないので、先に露出する必要があります.以下のコマンドを使用すればいいです.
npm run eject

less-loaderとlessのインストール
npm install less-loader less --save-dev

Webpack構成の変更
webpack.config.js
  • exclude配列において/\.less$/
  • を増加する.
    {
      loader: require.resolve('file-loader'),
      exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/, /\.less$/],
      options: {
        name: 'static/media/[name].[hash:8].[ext]',
      }
    }
    
  • oneOf配列の末尾に次のオブジェクト
  • を追加する.
    const autoprefixer = require('autoprefixer');
    
    {
      test: /\.(css|less)$/,
      use: [
        require.resolve('style-loader'),
        {
          loader: require.resolve('css-loader'),
          options: {
            importLoaders: 1
          }
        },
        {
          loader: require.resolve('postcss-loader'),
          options: {
            // Necessary for external CSS imports to work
            // https://github.com/facebookincubator/create-react-app/issues/2677
            ident: 'postcss',
            plugins: () => [
              require('postcss-flexbugs-fixes'),
              autoprefixer({
                browsers: [
                  '>1%',
                  'last 4 versions',
                  'Firefox ESR',
                  'not ie < 9', // React doesn't support IE8 anyway
                ],
                flexbox: 'no-2009'
              })
            ]
          }
        },
        {
          loader: require.resolve('less-loader') // compiles Less to CSS
        }
      ]
    }