Search code examples
reactjswebpackpostcssautoprefixer

Webpack v4, ejected create-react-app. How to configure autoprefixer?


I'm in a pickle. I have used a create-react-app (v2), ejected it, and build my project structure along the lines of

projectDir > src > pages > page > page.js || page.css

and I have multiple pages.

I've been trying to configure webpack with postcss and autoprefixer, but there is nothing remotely resembling what I have for my webpack.config.dev.js. Here is the part of my webpack that has the postcss with autoprefixer:

const getStyleLoaders = (cssOptions, preProcessor) => {
  const loaders = [
    require.resolve('style-loader'),
    {
      loader: require.resolve('css-loader'),
      options: cssOptions,
    },
    {
      // Options for PostCSS as we reference these options twice
      // Adds vendor prefixing based on your specified browser support in
      // package.json
      loader: require.resolve('postcss-loader'),
      options: {
        // Necessary for external CSS imports to work
        // https://github.com/facebook/create-react-app/issues/2677
        ident: 'postcss',
        plugins: () => [
          require('postcss-flexbugs-fixes'),
          require('postcss-preset-env')({
            autoprefixer: {
              flexbox: 'no-2009',
            },
            stage: 3,
          }),
        ],
      },
    },
  ];
  if (preProcessor) {
    loaders.push(require.resolve(preProcessor));
  }
  return loaders;
};

Its the base one after I eject the app. Also, I added the postcss.config.js to my root directory but I don't know where to import it.

module.exports = {
    plugins: [
        require('autoprefixer')
    ],
};

Anyone has any tips on how to proceed to make autoprefixer work with this?


Solution

  • CRA uses autoprefixer out of the box