wake-up-neo.com

Plötzlich wird der Fehler "Plugin/Preset-Dateien zum Exportieren von Objekten, nur Funktionen" im Projekt "create -rea-native-app" nicht zugelassen

Haben an einem Projekt gearbeitet, das mit create-react-native-app erstellt wurde. Habe das Projekt bereits seit einiger Zeit erfolgreich verwendet, aber jetzt versucht es, die App über exp start --tunnel zu testen, wird plötzlich ein Fehler des Formulars angezeigt (obwohl es zuvor funktioniert hat): 

[22:08:19] /path/to/node_modules/react-native-scripts/build/bin/crna-entry.js: Plugin/Preset files are not allowed to export objects, only functions. In /path/to/node_modules/babel-preset-expo/index.js
[22:08:19] Failed building JavaScript bundle.

Habe einige Beiträge gesehen, die sich scheinbar mit dem Problem befassen ( https://github.com/babel/babel/issues/6808 und Babel Plugin/Preset-Dateien dürfen keine Objekte exportieren, nur Funktionen ), aber ich bin völlig neu zu reagieren und verstehe nicht, was bable ist, also habe ich Schwierigkeiten zu verstehen, wie ich diese Posts auf meine eigene Situation anwenden kann.

Meine .bablerc-Datei (wie es in den anderen Beiträgen relevant zu sein scheint) ist:

{
  "presets": ["babel-preset-expo"],
  "env": {
    "development": {
      "plugins": ["transform-react-jsx-source"]
    }
  }
}

Habe npm cache clean --force && rm -rf node_modules && rm -f package-lock.json && npm install ohne Änderung ausprobiert. Was scheint zu helfen, ist ein Downgrade von [email protected] auf 0.55 (wie hier angegeben: React Native App erstellen. - Plugin/Preset-Dateien dürfen keine Objekte exportieren, nur Funktionen ), aber Dies scheint das Problem nicht direkt anzugehen, sondern eher ein Workaround. Irgendwelche Ratschläge dazu, was hier getan werden sollte, sind willkommen (alle anderen Dateien, die zum Debuggen hinzugefügt werden sollten).


** Als Antwort darauf, dass diese Frage als potenzielles Duplikat von Create React Native App markiert wurde. - Plugin/Preset-Dateien dürfen keine Objekte exportieren, nur Funktionen

  1. diese Frage wurde tatsächlich in dem Posting zitiert und die Erklärung, warum diese Frage trotz der Existenz der anderen gestellt wurde, wurde in den letzten Absatz aufgenommen 
  2. meine spätere Antwort auf this frage erklärt anderen Benutzern warum das Herabstufen auf 0.55 löst das Problem (und zitiert relevante Dokumente, die Benutzer weiter prüfen können), die (zur Zeit des Beitrags dieser Frage) war in der anderen zitierten Frage nicht vorhanden (obwohl der Benutzer, der diese Frage als Duplikat markiert hat, jetzt eine Antwort in der zitierten Frage hat, die auch darüber spricht, warum das Downgrade von 0,55 funktioniert). 
11

Festgestellt, dass das Problem Folgendes ist:

Irgendwann muss ein npm update Durchgeführt worden sein, das reaktionsnativ auf 0.56 und expo auf 28.0.0 aktualisiert wurde.

Betrachtet man die reaktionsnativen Dokumente ( https://facebook.github.io/react-native/docs/upgrading.html#create-react-native-app-projects ), so scheint es, als ob reaktionsnativ um Versionen von react-native, react und expo zu installieren, die alle speziell miteinander kompatibel sind . Eine Matrix, welche Versionen welcher Pakete miteinander kompatibel sind, finden Sie hier: https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md und sagt

Jede Version dieser Abhängigkeiten ist nur mit einem engen Versionsbereich der beiden anderen kompatibel.

Zum jetzigen Zeitpunkt Das Dokument wurde zuletzt am 27. April 2018 aktualisiert, daher ist nicht genau bekannt, in welchen Versionen von react and expo (die kürzlich die Version 28.0.0 veröffentlicht haben) gearbeitet werden soll kombination mit dem now-out reag- [email protected] Die neueste reaktionsnative Version, die is dokumentiert ist, ist [email protected] (passend zu [email protected] und [email protected]), was meiner Meinung nach der Grund ist Ein Downgrade auf [email protected] war in diesem Fall hilfreich (Ich weiß nicht, warum die Matrix für [email protected] noch keine Dokumentation enthält), Mein package.json sieht jetzt so aus:

...
"dependencies": {
    "@expo/vector-icons": "^6.3.1",
    "eslint": "^4.19.1",
    "expo": "^27.1.0",
    "prop-types": "^15.6.2",
    "react": "16.3.1",
    "react-native": "^0.55.4",
    "react-native-mail": "^3.0.6",
    "react-native-modal-dropdown": "^0.6.2",
    "react-navigation": "^2.6.2",
    "react-redux": "^5.0.7",
    "redux": "^4.0.0",
    "tcomb-form-native": "^0.6.14",
    "uuid": "^3.3.2"
  }
}
18

Das gleiche Problem ist heute bei mir passiert. Anscheinend wurde Reaktiver auf 0.56.0 ..__ aktualisiert. Die heruntergeladene Reaktiverversion auf 0.55.0 hat mein Problem behoben

npm install [email protected]
9
user2209783

Der Grund wurde von @lampShadesDrifter vollständig erklärt, ich werde jedoch eine schnellere Lösung hinzufügen, die die Verwendung von reaktionsnativem sdk ist, das von expo gebündelt wird: https://github.com/expo/react-native/

So können Sie dies Ihren Abhängigkeiten mit expo sdk 29 hinzufügen:

"react-native": "https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz",

1

Ich bin heute auf dieses Problem gestoßen und bin auf mehrere Lösungen gestoßen, die eine Herabstufung von React, Reaktiver, Expo oder durch Abgleichen der Version von Expo mit dem Reaktierenden vorschlagen, wie von @lampShadesDrifter vorgeschlagen.

jedoch,

npm install

hat den Trick für mich gemacht

0
s.khetcho