1. ホーム
  2. npm

[解決済み] Module not found: Error: Can't resolve 'core-js/es6'.

2022-04-28 02:10:03

質問

Reactアプリに関連するビルドプロセスで問題が発生しました。

いつも次のようなエラーが出ます。

Module not found: Error: Can't resolve 'core-js/es6'.

これをpolyfill.jsで使用すると。

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"
  }
}

どなたか助けてください。

どのように解決するのですか?

結局、polyfill.js という名前のファイルを projectpathsrcpolyfill.js そのファイルには、この行だけが書かれています。 core-js'をインポートします。 このポリフィルは es-6 だけでなく、バージョン 3.0.0 以降の core-js の正しい使用方法です。

を追加しました。 ポリフィル.js をWebpack-fileのエントリ属性にこのように追加しました。

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

完全に動作します。

さらに詳しい情報はこちらです。 https://github.com/zloirock/core-js/issues/184

ライブラリ作者( zloirock )が主張しています。

ES6 は ES5 で追加されたほぼすべての機能の動作を変更するため、core-js/es6 の のエントリポイントには、それらのほとんどすべてが含まれています。また、あなたが書いているように、これは 壊れたブラウザの実装を修正するために必要です。

(引用 https://github.com/zloirock/core-js/issues/184 zloirockより)

だから、私は思うのです インポート 'core-js'; がちょうどいい。