#javascript #react-native
#javascript #react-native
Вопрос:
После обновления до React Native 0.59.5 я получаю:
Uncaught reference error: require is not defined
babel.config.js
module.exports = {
presets: [
'module:metro-react-native-babel-preset',
'@babel/preset-flow',
[
'@babel/preset-env',
{
targets: {
esmodules: true,
},
},
],
'airbnb',
],
plugins: [
'transform-class-properties',
['@babel/plugin-proposal-decorators', { legacy: true }]
],
};
Узел: 8.10.0
npm: 5.6.0
React native: 0.59.5
Комментарии:
1. Проверьте это, если вы еще этого не сделали: github.com/facebook/react-native/issues/22522
2. У меня даже нет
env: { development }
, есть ли что-нибудь еще, что я должен изменить?
Ответ №1:
Попробуйте выполнить следующую конфигурацию babel и не забудьте установить необходимые библиотеки, если они отсутствуют:
module.exports = {
presets: ["@babel/preset-flow", "module:metro-react-native-babel-preset"],
plugins: [
["@babel/plugin-proposal-decorators", { legacy: true }],
["@babel/plugin-transform-flow-strip-types"],
["babel-plugin-react-native-nodeify-hack"],
"@babel/plugin-syntax-dynamic-import",
[
"@babel/plugin-proposal-class-properties",
{
loose: true
}
],
"@babel/plugin-transform-regenerator",
[
"@babel/plugin-transform-runtime",
{
helpers: false,
regenerator: true
}
]
]
};
Затем вы можете очистить проект с помощью этой команды (только для IOS)
watchman watch-del-all amp;amp; rm -rf node_modules amp;amp; npm install amp;amp; rm -rf $TMPDIR/haste-map-react-native-packager-* amp;amp; rm -rf $TMPDIR/react-native-packager-cache-* amp;amp; rm -rf $TMPDIR/metro-bundler-cache-* amp;amp; rm -rf ~/Library/Developer/Xcode/DerivedData amp;amp; pod deintegrate ios/{YOUR_PROJECT}.xcodeproj amp;amp; rm -rf ./ios/Pods amp;amp; pod install --project-directory=./ios/ amp;amp; rm -f /ios/build amp;amp; npm cache verify
А затем повторно запустите проект
react-native run-ios
Надеюсь, это решит вашу проблему
Комментарии:
1. Спасибо, попробую это и опубликую результат.
2. Не забудьте изменить модуль деинтеграции ios/{YOUR_PROJECT}.xcodeproj в соответствии с вашим проектом. Желаю, чтобы это сработало для вас в конце