Programing

모듈을 찾을 수 없음 : 오류 : 'core-js / es6'을 해결할 수 없습니다.

crosscheck 2021. 1. 5. 08:30
반응형

모듈을 찾을 수 없음 : 오류 : 'core-js / es6'을 해결할 수 없습니다.


React 앱과 관련하여 빌드 프로세스에 문제가 있습니다.

항상 다음과 같은 오류가 발생합니다.

모듈을 찾을 수 없음 : 오류 : 'core-js / es6'을 해결할 수 없습니다.

polyfill.js에서 이것을 사용하면 :

import 'core-js / es6';

그것은 내 package.json입니다.

{
  "name": "test",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "private": true,
  "devDependencies": {
    "@babel/core": "^7.4.0",
    "@babel/preset-env": "^7.4.2",
    "@babel/preset-react": "^7.0.0",
    "@babel/runtime": "^7.4.2",
    "babel-loader": "^8.0.5",
    "babel-preset-es2015": "^6.24.1",
    "copy-webpack-plugin": "^5.0.2",
    "css-hot-loader": "^1.4.4",
    "eslint": "5.15.3",
    "eslint-config-airbnb": "^17.1.0",
    "eslint-loader": "^2.1.2",
    "eslint-plugin-import": "2.16.0",
    "eslint-plugin-jsx-a11y": "6.2.1",
    "eslint-plugin-react": "7.12.4",
    "file-loader": "^3.0.1",
    "node-sass": "^4.11.0",
    "prettier": "^1.16.4",
    "react-hot-loader": "4.8.0",
    "sass-loader": "^7.1.0",
    "webpack": "^4.29.6",
    "webpack-cli": "^3.3.0",
    "webpack-dev-server": "^3.2.1"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "core-js": "^3.0.0",
    "prop-types": "^15.7.2",
    "react": "^16.8.5",
    "react-dom": "^16.8.5",
    "react-redux": "^6.0.1",
    "react-string-replace": "^0.4.1",
    "redux": "^4.0.1",
    "slick-carousel": "^1.8.1"
  },
  "scripts": {
    "dev": "webpack-dev-server --hot",
    "build": "webpack --colors --profile --progress --env.mode production",
    "lint": "eslint ./src/ --ext .js,.jsx"
  }
}

누군가 여기서 도울 수 있습니까?


가능한 답을 찾았습니다. 당신은 코어 JS 버전 3.0,이 버전에 대한 별도의 폴더가없는 ES6ES7을 ; 이것이 응용 프로그램이 올바른 경로를 찾을 수없는 이유입니다.

이 오류를 해결하려면 core-js 버전을 2.5.7로 다운 그레이드 할 수 있습니다 . 이 버전은 별도의 ES6ES7 폴더를 사용 하여 올바른 카탈로그 구조를 생성합니다 .

버전을 다운 그레이드하려면 다음을 실행하십시오.

npm i -S core-js@2.5.7

제 경우에는 Angular를 사용하면 정상적으로 작동합니다.


The imports have changed for core-js version 3.0.1 - for example

import 'core-js/es6/array'; and import 'core-js/es7/array';

can now be provided simply by the following

import 'core-js/es/array';

if you would prefer not to bring in the whole of core-js


Change all "es6" and "es7" to "es" in your polyfills.ts and polyfills.ts (Optional).

  • From: import 'core-js/es6/symbol';
  • To: import 'core-js/es/symbol';

After Migrated to Angular 8, 'core-js/es6' or 'core-js/es7' Will not work.

You have to simply replace import 'core-js/es/'

For ex. import 'core-js/es6/symbol' to import 'core-js/es/symbol'

This will work properly.


Sure, I had a similar issue and a simple

npm uninstall @babel/polyfill --save &&
npm install @babel/polyfill --save

did the trick for me.


Ended up to have a file named polyfill.js in projectpath\src\polyfill.js That file only contains this line: import 'core-js'; this polyfills not only es-6, but is the correct way to use core-js since version 3.0.0.

I added the polyfill.js to my webpack-file entry attribute like this:

entry: ['./src/main.scss', './src/polyfill.js', './src/main.jsx']

Works perfectly.

I also found some more information here : https://github.com/zloirock/core-js/issues/184

The library author (zloirock) claims:

ES6 changes behaviour almost all features added in ES5, so core-js/es6 entry point includes almost all of them. Also, as you wrote, it's required for fixing broken browser implementations.

(Quotation https://github.com/zloirock/core-js/issues/184 from zloirock)

So I think import 'core-js'; is just fine.

ReferenceURL : https://stackoverflow.com/questions/55308769/module-not-found-error-cant-resolve-core-js-es6

반응형