У меня проблема с процессом сборки моего приложения React.
Я всегда получаю такую ошибку:
Модуль не найден: ошибка: не удается разрешить "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"
}
}
Может здесь кто-нибудь помочь?
npm
build
yarnpkg
package.json
Gutelaunetyp
источник
источник
Ответы:
Импорт изменился для core-js версии 3.0.1 - например
import 'core-js/es6/array';
иimport 'core-js/es7/array';
теперь может быть просто предоставлено следующим
import 'core-js/es/array';
если вы предпочитаете не использовать core-js целиком
источник
import 'core-js/...
того, что мне следует изменить и где? Использование VueJS 2Я нашел возможный ответ. У вас core-js версии 3.0, и в этой версии нет отдельных папок для ES6 и ES7 ; поэтому приложение не может найти правильные пути.
Чтобы устранить эту ошибку, вы можете понизить версию core-js до 2.5.7. Эта версия создает правильную структуру каталогов с отдельными папками ES6 и ES7 .
Чтобы понизить версию, просто запустите:
В моем случае с Angular это работает нормально.
источник
Измените все «es6» и «es7» на «es» в ваших polyfills.ts и polyfills.ts (необязательно).
import 'core-js/es6/symbol';
import 'core-js/es/symbol';
источник
После того, как мигрировал в Angular8 ,
core-js/es6
илиcore-js/es7
не будет работать.Вам нужно просто заменить import
core-js/es/
Например,
к
Это будет работать правильно.
источник
/es6
пути github.com/angular/angular/blob/master/integration/ ... Есть идеи, зачем они это делают?Конечно, у меня была аналогичная проблема и простой
сделал трюк для меня.
Однако использование @ babel / polyfill устарело (согласно этому комментарию ), поэтому попробуйте это, только если вы думаете, что у вас установлены более старые пакеты или если все остальное не работает.
источник
@babel/polyfill
не рекомендуется.В итоге в папке projectpath \ src \ polyfill.js есть файл с именем polyfill.js. Этот файл содержит только эту строку: import 'core-js'; этот полифилс не только es-6, но и является правильным способом использования core-js, начиная с версии 3.0.0.
Я добавил polyfill.js в свой атрибут записи файла webpack следующим образом:
entry: ['./src/main.scss', './src/polyfill.js', './src/main.jsx']
Прекрасно работает.
Я также нашел здесь дополнительную информацию: https://github.com/zloirock/core-js/issues/184
Автор библиотеки ( zloirock ) утверждает:
(Цитата https://github.com/zloirock/core-js/issues/184 из zloirock)
Итак, я думаю, что import core-js; просто отлично.
источник
Просто измените "target": "es2015" на "target": "es5" в вашем tsconfig.json.
Работайте у меня с Angular 8.2.XX
Протестировано в IE11 и Edge
источник
Если вы используете
@babel/preset-env
иuseBuiltIns
, вам просто нужно добавитьcorejs: 3
рядом с параметром useBuiltIns, чтобы указать, какую версию использовать, по умолчаниюcorejs: 2
.Для получения дополнительной информации см .: 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
источник
Измените все "es6" и "es7" на "es" в ваших polyfills.ts и polyfills.ts
источник