Я потратил некоторое время, работая с моими Babel
конфигурациями.Я не эксперт, но я также неопытен с Babel
.Я довольно новичок в попытке настроить его в отношении React-Native
.
Я много чего пытался заставить экспорт по умолчанию работать с React Native
, но когда я пытаюсь импортировать именованные модули из экспорта по умолчаниюЯ получаю undefined
.
Что я здесь пропускаю?Я могу export default
и затем импортировать именованные модули в мою Webpack
среду сборки.Почему бы не в моем React Native
окружении?
Я полагаю, это может быть связано с отсутствием Babel
плагина "add-module-exports"
в React Native
, но в том числе он нарушает все.Есть ли способ включить его или эмулировать его поведение?
Примеры и .babelrc
файлы ниже.
myNamedModule.js
export default { myNamedModule };
Импорт модуля myNamedModule
import { myNamedModule } from './myNamedModule'; // Results in undefined
Импорт всего файла
import myNamedModule from './myNamedModule'; // Results in undefined
Импорт всего файлас * as
import * as myNamedModule from './myNamedModule'; // Imports the entire default export as expected
.babelrc
для React Native
{
"presets": [
"module:metro-react-native-babel-preset",
],
"plugins": [
"@babel/plugin-proposal-export-namespace-from",
[
"babel-plugin-module-resolver",
{
"alias": {
"react-native-vector-icons": "@expo/vector-icons"
},
},
],
["@babel/plugin-proposal-decorators", { legacy: true }],
]
}
.babelrc
для электрона
(Последнее, что я проверял, это также работало для сети, если я изменилpreset-env
)
{
"presets": [
["@babel/preset-env", {
"targets": { "electron": "3.0.10" },
"useBuiltIns": "usage"
}],
"@babel/preset-react",
"@babel/preset-flow"
],
"plugins": [
"@babel/plugin-transform-flow-strip-types",
"add-module-exports",
"@babel/plugin-proposal-export-default-from",
["@babel/plugin-proposal-optional-chaining", { "loose": false }],
"@babel/plugin-proposal-do-expressions",
"@babel/plugin-proposal-export-namespace-from",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-transform-classes",
]
}