Ich habe ein Problem mit meinem Erstellungsprozess in Bezug auf meine React-App.
Ich erhalte immer den folgenden Fehler:
Modul nicht gefunden: Fehler: 'core-js / es6' kann nicht aufgelöst werden
wenn ich dies in einer polyfill.js verwende:
'core-js / es6' importieren;
Das ist mein 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"
}
}
Kann hier jemand helfen?
npm
build
yarnpkg
package.json
Gutelaunetyp
quelle
quelle
Antworten:
Die Importe haben sich beispielsweise für core-js Version 3.0.1 geändert
import 'core-js/es6/array';
undimport 'core-js/es7/array';
kann nun einfach durch folgendes bereitgestellt werden
import 'core-js/es/array';
wenn Sie es vorziehen würden, nicht alle Core-Js einzubringen
quelle
import 'core-js/...
was damit beginnt. Was soll ich also wo ändern? Verwenden von VueJS 2Ich habe eine mögliche Antwort gefunden. Sie haben Core-JS- Version 3.0, und diese Version verfügt nicht über separate Ordner für ES6 und ES7 . Aus diesem Grund kann die Anwendung keine korrekten Pfade finden.
Um diesen Fehler zu beheben, können Sie die core-js- Version auf 2.5.7 herunterstufen . Diese Version produziert korrekte Kataloge Struktur mit getrennten ES6 und ES7 Ordner.
Um die Version herunterzustufen, führen Sie einfach Folgendes aus:
In meinem Fall funktioniert dies mit Angular in Ordnung.
quelle
Ändern Sie alle "es6" und "es7" in "es" in Ihren polyfills.ts und polyfills.ts (optional).
import 'core-js/es6/symbol';
import 'core-js/es/symbol';
quelle
Nach migrierenden Angular8 ,
core-js/es6
odercore-js/es7
nicht funktionieren.Sie müssen einfach den Import ersetzen
core-js/es/
Zum Beispiel.
zu
Dies wird ordnungsgemäß funktionieren.
quelle
/es6
Pfade. Github.com/angular/angular/blob/master/integration/… Irgendeine Idee, warum sie das tun?Klar, ich hatte ein ähnliches Problem und ein einfaches
hat den Trick für mich gemacht.
Die Verwendung von @ babel / polyfill ist jedoch veraltet (laut diesem Kommentar ). Versuchen Sie dies daher nur, wenn Sie der Meinung sind, dass ältere Pakete installiert sind oder wenn alles andere fehlschlägt.
quelle
@babel/polyfill
ist veraltet.Ändern Sie einfach "target": "es2015" in "target": "es5" in Ihrer tsconfig.json.
Arbeite für mich mit Angular 8.2.XX
Getestet auf IE11 und Edge
quelle
Es wurde eine Datei mit dem Namen polyfill.js im Projektpfad \ src \ polyfill.js erstellt. Diese Datei enthält nur die folgende Zeile: import 'core-js'; Diese Polyfüllung füllt nicht nur es-6, sondern ist auch die richtige Art, Core-js seit Version 3.0.0 zu verwenden.
Ich fügte hinzu , die polyfill.js meiner webpack-Dateieintrag Attribut wie folgt aus :
entry: ['./src/main.scss', './src/polyfill.js', './src/main.jsx']
Funktioniert perfekt.
Ich habe hier auch weitere Informationen gefunden: https://github.com/zloirock/core-js/issues/184
Der Bibliotheksautor ( zloirock ) behauptet:
(Zitat https://github.com/zloirock/core-js/issues/184 von zloirock)
Ich denke also, importiere 'core-js'; ist in Ordnung.
quelle
Wenn Sie
@babel/preset-env
und verwendenuseBuiltIns
, müssen Sie nurcorejs: 3
neben der Option useBuiltIns hinzufügen , um anzugeben, welche Version verwendet werden sollcorejs: 2
.Weitere Informationen finden Sie unter: https://github.com/zloirock/core-js/blob/master/docs/2019-03-19-core-js-3-babel-and-a-look-into-the-future .md # babelpreset-env
quelle
Ändern Sie alle "es6" und "es7" in "es" in Ihren polyfills.ts und polyfills.ts
quelle