CRA(create-react-app)에서 webpack polyfill 설정

Reactpolyfillcreate-react-appwebpackconfig-overrides.jsreact-scriptpackage.json
avatar
2025.04.10
·
1 min read

1. 필요한 polyfill 모듈 설치

npm i react-app-rewired crypto-browserify stream-browserify assert stream-http https-browserify os-browserify url buffer process web3-utils

2. webpack 설정파일 작성

/config-overrides.js

const webpack = require("webpack");

module.exports = function override(config) {
  const fallback = config.resolve.fallback || {};
  Object.assign(fallback, {
    crypto: require.resolve("crypto-browserify"),
    stream: require.resolve("stream-browserify"),
    assert: require.resolve("assert"),
    http: require.resolve("stream-http"),
    https: require.resolve("https-browserify"),
    os: require.resolve("os-browserify"),
    url: require.resolve("url"),
  });
  config.resolve.fallback = fallback;
  config.plugins = (config.plugins || []).concat([
    new webpack.ProvidePlugin({
      process: "process/browser",
      Buffer: ["buffer", "Buffer"],
    }),
  ]);
  return config;
};

3. react-script 명령어 변경

package.json

{
  ...

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

4. 실행

npm run start






- 컬렉션 아티클