Create-react-app: IE11 рдореЗрдВ `рд░рд┐рдПрдХреНрдЯ-рд╕реНрдХреНрд░рд┐рдкреНрдЯ` v4.0.0 рд╡рд╛рд▓реЗ рдРрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рдЕрдХреНрддреВре░ 2020  ┬╖  18рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/create-react-app

рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

рдореЗрд░реЗ рдРрдк рдХреЛ рд░рд┐рдПрдХреНрд╢рди-рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ 3.4.4 рд╕реЗ 4.0.0 рддрдХ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдИрдИ 11 рдореЗрдВ рдРрдк рдмрд┐рд▓реНрдХреБрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд - рдЬрдм рдореИрдВрдиреЗ рдирд╡реАрдирддрдо CRA рд╕реЗ рдПрдХ рдирдпрд╛ рдРрдк рдмрдирд╛рдпрд╛, рддреЛ рдореИрдВрдиреЗ react-app-polyfill рдЬреЛрдбрд╝рд╛, рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
image

рдореЗрд░рд╛ package.json рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

{
  "name": "cra4",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "@types/jest": "^26.0.15",
    "@types/node": "^12.0.0",
    "@types/react": "^16.9.53",
    "@types/react-dom": "^16.9.8",
    "react": "^17.0.1",
    "react-app-polyfill": "2.0.0",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.0",
    "typescript": "^4.0.3",
    "web-vitals": "^0.2.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ]
  }
}

рд╡рд╣реА рддреНрд░реБрдЯрд┐ рддрдм рднреА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рдЬрдм рдореИрдВ yarn build рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ build/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╕реЗрд╡рд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА?

рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ CRA рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд╛рдЗрдб рдореЗрдВ рдЖрдкрдиреЗ рдХреМрди рд╕реЗ рд╢рдмреНрдж рдЦреЛрдЬреЗ?

рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд▓реЗрдЦрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рджреНрд░рд╖реНрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рд╡рд┐рдлрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд╛рдЗрдб рдХреЗ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://facebook.github.io/create-react-app/docs/troublesourcing рдХреГрдкрдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрди рдХреБрдЫ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдк рдХреБрдЫ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд╛рдЗрдб рд╕реНрд╡рдпрдВ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ: https://facebook.github.io/create-react-app/ рдпрджрд┐ рдЖрдкрдХреЛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛, рддреЛ рдХреГрдкрдпрд╛ рдЙрди рд╢рдмреНрджреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдЦреЛрдЬрд╛ рдерд╛ ред рдпрд╣ рд╣рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

(рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдиреЗ рдкрд░ рдпрд╣рд╛рдВ рдЕрдкрдирд╛ рдЙрддреНрддрд░ рд▓рд┐рдЦреЗрдВред)

рд╡рд╛рддрд╛рд╡рд░рдг

рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдХрд┐рд╕реА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╛ рдореЙрдбреНрдпреВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ, рдЖрдкрдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЕрдкрдиреЗ рд░рд┐рдПрдХреНрдЯ рдРрдк рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБред рдиреЛрдЯ: рдкрд░рд┐рдгрд╛рдо рд╕реАрдзреЗ рдЖрдкрдХреЗ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред `npx create-react-app --info` рдиреАрдЪреЗ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдХрдорд╛рдВрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред
Environment Info:

  current version of create-react-app: 3.4.1
  running from C:\Users\XXX\AppData\Local\Yarn\Data\global\node_modules\create-react-app

  System:
    OS: Windows 10 10.0.19041
    CPU: (16) x64 AMD Ryzen 7 3700X 8-Core Processor
  Binaries:
    Node: 14.14.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.5 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.14.8 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: 44.19041.423.0
    Internet Explorer: 11.0.19041.1
  npmPackages:
    react: ^17.0.1 => 17.0.1
    react-dom: ^17.0.1 => 17.0.1
    react-scripts: 4.0.0 => 4.0.0
  npmGlobalPackages:
    create-react-app: Not Found

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

  1. рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдирдпрд╛ рд╕реАрдЖрд░рдП рдРрдк рдмрдирд╛рдПрдВ
  2. yarn add react-app-polyfill
  3. import 'react-app-polyfill/ie11'; import 'react-app-polyfill/stable'; рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ index.tsx
  4. yarn start
  5. рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рд╕рд╛рдЗрдЯ рд╕рд╛рдорд╛рдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рдпрд╣ IE рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдХреНрд░реАрди рд╣реИ

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

рдЖрдкрдиреЗ рдЙрдкрдХрд░рдг рд╕реЗ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА? рдпрджрд┐ рдЖрдкрдХреА рд╕рдордЭ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рдареАрдХ рд╣реИред рдЬреЛ рдЖрдкрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рд╡рд╣реА рд▓рд┐рдЦрд┐рдПред

рд╕рд╛рдЗрдЯ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдореИрдВ рдЪрдорддреНрдХрд╛рд░ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдПрдХ IE рд╣реИ, рд▓реЗрдХрд┐рди рд░рд┐рдХреНрдд рдкреГрд╖реНрда рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реИ)

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

рдХреНрдпрд╛ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ? рдХреНрдпрд╛ рдХреБрдЫ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдЬреИрд╕рд╛ рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рдереЗ рд╡реИрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛? рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ! рд╡реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдирд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдорджрджрдЧрд╛рд░ рд╣реИрдВред

image

рдкреНрд░рддрд┐рдХреНрд░рдордг рдбреЗрдореЛ

рдпрджрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рдореБрджреНрджреЗ рдХреЛ рдЬрд▓реНрдж рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ: * рдПрдХ рдирдпрд╛ рдРрдк рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдпрд╣ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛рдБ рд╣реИ, рдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред * рдпрд╛, рдЕрдкрдиреЗ рдРрдк рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдиреНрдпреВрдирддрдо рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдореЛ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЫреЛрдбрд╝рддреЗ рд╣реИрдВред рдореВрд▓ рдХрд╛рд░рдг рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИред рдЖрдк рддрдм рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдмрдЧ рдбреЗрдореЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рд╣реИ: https://stackoverflow.com/help/mcve рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдХрд╛рдо рдкреВрд░рд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ GitHub рдкрд░ рдзрдХреЗрд▓реЗрдВ рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХреЛ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:

(рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдЪрд┐рдкрдХрд╛рдПрдБ рдФрд░ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдирд┐рд░реНрджреЗрд╢ред)

рдпрджрд┐ рдЖрдк рдЗрд╕ рдЪрд░рдг рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд╣рдо рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рдЧрд╛рдпрдм рд╣реИред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣рдо рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреИрдЧ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдпрджрд┐ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рджрд┐рд╢рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдВрддрддрдГ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреЗрдВред рд╣рдо рдЕрднреА рднреА рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрддрддрдГ рдХреЛрдИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
bug report needs triage

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

+, рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдорд╛рдг рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛
https://reactjs.org/docs/error-decoder.html/?invariant=31&args [] = рдСрдмреНрдЬреЗрдХреНрдЯ% 20with% 20keys% 20%% 7B% 24% 24typeof% 2C 20type% 2C% 20C% 2C% 20ref% 2C% 2C % 20props% 2C% 20_owner% 7 рджрд┐рди
image

рд╕рднреА 18 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрджрд┐ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдВ, рддреЛ browserslist рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ IE рдкрд░ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

image

( package.json )ред

@ рдкрд┐рдпрд░реЗ-рдХрд░реЛ
рд╣рд╛рдВ, рдореИрдВрдиреЗ рд▓рд╛рдкрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдореБрджреНрджрд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред
рдореИрдВ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ IE11 рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди react-app-polyfill рд╕рд╛рде рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ :(

+, рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдорд╛рдг рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛
https://reactjs.org/docs/error-decoder.html/?invariant=31&args [] = рдСрдмреНрдЬреЗрдХреНрдЯ% 20with% 20keys% 20%% 7B% 24% 24typeof% 2C 20type% 2C% 20C% 2C% 20ref% 2C% 2C % 20props% 2C% 20_owner% 7 рджрд┐рди
image

рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди:

import 'react-app-polyfill/ie11';
// import 'react-app-polyfill/stable';
import 'core-js/stable';
import 'regenerator-runtime/runtime';

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реВрдВ

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ @ezBill рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж react-app-polyfill рддрдп рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ @ezBill рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

+1

рдореЗрд░реЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреНрд░реБрдЯрд┐ рдмрдиреА рд╣реБрдИ рд╣реИред

рдореЗрд░реЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ IE11 рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ:

import "react-app-polyfill/ie11";
import "react-app-polyfill/stable";

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЖрдпрд╛рдд рд╕реЗ рдКрдкрд░ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрди рдкреЙрд▓реАрдлрд╝рд┐рд▓реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЬрдЧрд╣ рдореЗрдВ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкреЙрд▓реАрдлрд╝рд┐рд▓ TextEncoder рдЬреИрд╕реЗ рдХреБрдЫ рдЕрдзрд┐рдХ рдЧреВрдврд╝ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ,

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ jsx рдЯреНрд░рд╛рдВрд╕реНрдлрд╝реЙрд░реНрдо рдпрд╣ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдкрдиреЗ рдореБрдЦреНрдп index.js рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ /** <strong i="5">@jsxRuntime</strong> classic */ рдЬреЛрдбрд╝рдХрд░ рдпрд╛ рддреЛ рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдЕрдкрдиреЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ - рдпрд╛ DISABLE_NEW_JSX_TRANSFORM=true рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╛ рддреЛ рд╡реЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреЗрддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдкреЙрд▓реАрдлрд┐рд▓ рдЖрдпрд╛рдд рдХрд░рдХреЗ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХрд▓рдХ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ import {jsx as _jsx} from 'react/jsx-runtime'; рд▓рд╛рдЗрди рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@msbarry рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдирдпрд╡рд╛рдж!

рд╣рдо рдЗрд╕реА рдореБрджреНрджреЗ рдкрд░ рднрд╛рдЧреЗред рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЕрдкрдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдмреЗрд╕ рдХреЛ рдирдП JSX рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдерд╛ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╡рд╣ рдкреНрд░рд╛рд░реВрдк рдЬрд╣рд╛рдБ рдЖрдкрдХреЛ React рдЕрдм рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред

рдЦреБрд╢рдЦрдмрд░реА! рд╣рдо рдирдП JSX рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рднреА рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ!

рд╣рдореЗрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ src/index.js рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдерд╛ред

/** <strong i="10">@jsxRuntime</strong> classic */
import 'react-app-polyfill/ie11'

// IE11 needs "jsxRuntime classic" for this initial file which means that "React" needs to be in scope
// https://github.com/facebook/create-react-app/issues/9906
import React from 'react'

рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЬреЛрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдпрдерд╛ рд╣рдо рдпрд╣ рджреЗрдЦ рд╕рдХрддреЗ рдереЗ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗ рдФрд░ рд╢рд╛рдпрдж рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓рдЯрдХ рдЬрд╛рдПрдВрдЧреЗред

рдХреЗрд╡рд▓ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдмрдВрдбрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрдбрд╝ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХрд┐ рдЙрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рд░рд┐рдПрдХреНрдЯ 17 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдерд╛ :(

FWIW рд╣рдо index.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ init.ts рдФрд░ main.tsx рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ init.ts рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ main.tsx рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ ( рд░рд┐рдПрдХреНрдЯ рдХреЛрдб) рдФрд░ index.ts рдХреЗрд╡рд▓ рджреЛрдиреЛрдВ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЗ рдмрд╛рдж рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЗ рдмрд╛рдж рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд╛рдордХрд░рдг рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдпрд╛рдд рдХреЗ рд╕реНрд╡рдд: рдЫрдБрдЯрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рднреА рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдореБрдЦреНрдп рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдПред

рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

IE11 рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде

image

рддреНрд░реБрдЯрд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣рдореЗрдВ рдпрд╣рд╛рдБ рд▓рд╛рддрд╛ рд╣реИ

image

IE рд╕рдВрд╕реНрдХрд░рдг

image

рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рд╕реБрдкрд░ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ

  1. npx create-react-app ie11app
  2. yarn add react-app-polyfill
  3. index.js рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
/** <strong i="23">@jsxRuntime</strong> classic */
import 'react-app-polyfill/ie11';
import 'react-app-polyfill/stable';
import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(
    <div>Come on</div>,
  document.getElementById('root')
);
  1. ie 11 browerslist package.json
{
  "name": "ie11app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "react": "^17.0.1",
    "react-app-polyfill": "^2.0.0",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.0",
    "web-vitals": "^0.2.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all",
      "ie 11"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version",
      "ie 11"
    ]
  }
}
  1. yarn start

Index.js рд╕реЗ import 'react-app-polyfill/stable'; рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдЖрдкрдХреЛ рдХреЗрд╡рд▓ import 'react-app-polyfill/ie11'

рдпрд╣ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдореБрджреНрджреЗ рдХреА рддрд░рд╣ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдЬрд┐рд╕ рдХреЛрдб рдХреЛ рдЖрдк рдбрд┐рдмрдЧрд░ рдореЗрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ ES5 рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА IE11 рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ "ie >= 11" рдЕрдкрдиреЗ рдореЗрдВ browserslist рдХреЗ рдмрдЬрд╛рдп "ie 11" ред рдпрд╣ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ, рдпрдХреАрди рдирд╣реАрдВ рддреЛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@ Dan503 @pluma рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, "ie >= 11" рдФрд░ import 'react-app-polyfill/stable'; рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХрд┐рд╕реНрдордд рдирд╣реАрдВред

рдХреНрдпрд╛ рдЖрдк рдЗрддрдиреЗ рджрдпрд╛рд▓реБ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдпрд╛ npx create-react-app ie11app рдФрд░ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ IE11 рдкрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж

рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
"react-scripts": "^3.0.0" IE 11 рдкрд░ "react": "^17.0.1", рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рд▓реЗрдХрд┐рди "react-scripts": "4.0.0" рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ

рдореИрдВрдиреЗ рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдЙрдкрд╛рдп рднреА рдЖрдЬрдорд╛рдПред рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ react-scripts рд╕реЗ 3.4.4 рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

JimmyLv picture JimmyLv  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

onelson picture onelson  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DaveLindberg picture DaveLindberg  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fson picture fson  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alleroux picture alleroux  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ