asp.net Kern, Winkel 2, PrimeNG

8

Ich benutze die aspnetcore-spa-Vorlage als Ausgangspunkt, um das Admin-Panel zu erstellen. Als Nächstes füge ich die PrimeNG Bibliothek hinzu, um ihre Komponenten zu verwenden.

Leider, wenn ich z. B. ButtonModule in app.module.ts importiere und aktualisiere, bekomme ich eine Fehlermeldung "Event is undefined". Ich kann nicht herausfinden, was der Grund für mehrere Tage ist, kann mir also jemand helfen?

AKTUALISIEREN

  • Also erzeuge ich zuerst den Stub mit yo aspnetcore-spa
  • Nächstes npm install font-awesome primeng --save
  • Dann füge ich font-awesome und PrimeNG CSS-Dateien zu webpack.config.vendor.js

    hinzu %Vor%
  • Rebuild vendor dependencies webpack --config webpack.config.vendor.js

  • Dann importiere ich ButtonModule in app.module.ts

Wenn ich jetzt die App starte, bekomme ich eine Ausnahme

Ausnahme zeigen auf dieses Code-Fragment

%Vor%

UPDATE 2

Ich habe herausgefunden, dass das Problem beim serverseitigen Rendern liegt, also habe ich es entfernt. Es funktioniert für mich, aber es ist immer noch interessant, wie man das ohne serverseitiges Rendering lösen kann.

    
Eugen Kotov 04.11.2016, 22:11
quelle

3 Antworten

3

%Vor%

Sie müssen das Pre-Rendering von der Server-Seite aus index.shtml deaktivieren.

ändern

%Vor%

bis

%Vor%     
Sebastian Herrera 25.01.2017 02:51
quelle
2

Ich habe eine Lösung gefunden und es an einem meiner Lieblingsprojekte arbeiten lassen.

Befolgen Sie einfach diese Schritte (ich überspringe die Installation, da Sie dies bereits getan haben):

1 - Fügen Sie den Loader für gif -Dateien hinzu, da sie in verwandten css -Dateien benötigt werden:

%Vor%

2 - Fügen Sie die Stile zu Ihrem webpack.config.vendor.js hinzu:

%Vor%

3 - Fügen Sie die Module hinzu, die Sie an die Spitze des app.module.ts :

setzen möchten %Vor%

4 - Fügen Sie es auch Ihrem imports hinzu:

%Vor%

Und voila ...

Sie können den Arbeitscode hier finden.

    
Yaser 19.02.2017 11:06
quelle
2

Nach Ссылка

Beim serverseitigen Rendern gibt es Einschränkungen. Bemerkenswerterweise kann Ihr Anwendungscode nicht einfach davon ausgehen, dass er immer in einem Browser ausgeführt wird. Wenn Sie versuchen, direkt auf das Browser-DOM zu verweisen, erhalten Sie einen Fehler wie Fenster ist nicht definiert, wenn es serverseitig ausgeführt wird. Glücklicherweise ist das selten ein Problem, da das Framework in einer gut strukturierten Angular-App (oder React, etc.) wirklich nicht will, dass Sie sich direkt mit dem DOM anfreunden, also sollten Sie keine Browser-Primitive unabhängig vom Server annehmen -Seiten-Rendering.

Lookimng in der JavaScript-Datei in Primeng, manipuliert einige Steuerelement die DOM-Struktur

Ich verwende die gleiche Vorlage wie Sie, wenn Sie Folgendes tun, können Sie das

behalten %Vor%

Die Antwort ist, anstatt

zu tun %Vor%

tue

%Vor%

AccordionModule ist abhängig von BlockUI, wenn Sie accordion.d.ts öffnen, also müssen wir es ebenfalls importieren

Es funktioniert für mich, ohne das Vorrendern zu entfernen

Gehen Sie dann zu web.config.vendor.js, ändern Sie

%Vor%

bis

%Vor%

Fügen Sie auch im Abschnitt web.config.vendor.js, Anbieter

hinzu %Vor%

Öffnen Sie dann die Visual Studio-Eingabeaufforderung, und navigieren Sie zum Lösungspfad

%Vor%

Es gibt jedoch einige Steuerelemente, die immer noch einen Fehler auslösen In diesem Fall keine andere Wahl, als die js-Datei zu ändern

    
ben yip 19.02.2017 08:28
quelle