Ich verwende einige ReactJS-Komponenten für meine Ansichten in einer .Net MVC-Anwendung.
Momentan habe ich eine einzige Datei, die alle meine Komponenten enthält: /scripts/react-app/MyApp.jsx
Ich möchte das in mehrere Dateien aufteilen, aber wenn ich Komponenten in eine andere Datei verschiebe, bekomme ich eine Laufzeitausnahme:
%Vor% Wie kann ich MyApp.jsx
auf eine andere .jsx
Datei verweisen?
BEARBEITEN:
Ich habe versucht, wie vorgeschlagen zu bündeln, aber ich bekomme immer noch den gleichen Fehler. Folgendes habe ich getan:
Hinzugefügt zu BundleConfig.cs
:
Und in meinem _Layout.cshtml
habe ich hinzugefügt: @Scripts.Render("~/bundles/main")
Ich versuche eine Komponente zu verwenden, die in FileThree.jsx
in FileOne.jsx
definiert ist, aber trotzdem den component is not defined
Fehler erhält.
ZWEITE BEARBEITUNG:
Ich habe den Html-Helfer in der Ansicht geändert und es hat für mich angefangen zu arbeiten:
%Vor%Um zu verlangen, dass eine Komponente zuerst exportiert wird (in einer eigenen Datei), zum Beispiel:
%Vor%In der Datei, die Sie verwenden möchten, benötigen Sie es wie folgt:
%Vor%Stellen Sie sicher, dass Sie den Pfad korrekt angeben, in meinem Beispiel nimmt er denselben Ordner an.
Wenn Sie Probleme bei der Bündelung haben, empfehle ich Ihnen create-react-app
>Dies macht Sie mit einer funktionierenden Entwicklungsumgebung vertraut, einschließlich Tests.
Wenn Sie das serverseitige Rendering von ReactJS.NET nutzen, haben Sie geprüft, ob die Datei SomeComponent in der Datei ReactConfig.cs (unter App_Start) enthalten ist?
Wenn die Root-Komponente, die von @ Html.React gerendert wird, SomeComponent verwendet, muss ihre Codedatei ebenfalls in diesem serverseitigen Paket enthalten sein.
Bearbeiten Ich habe den Second Edit in der Frage verpasst, die besagt, dass du dein Problem gelöst hast. Ich nehme an, dass das oben genannte für jemanden nützlich sein kann, der serverseitige Wiedergabe mit separaten Dateien in der Zukunft verwendet.