5

Próbuję zaimplementować renderowanie po stronie serwera dla mojej aplikacji reactjs. Używam webpacka do budowania aplikacji reactjs, ulepszonego rozwiązania do obsługi importowania plików jsx w nodejs.Jak obsłużyć obiekt okna na nodejs do renderowania po stronie serwera aplikacji reactjs

Moja aplikacja zależy od bibliotek zewnętrznych, takich jak enquire.js. Kiedy reagować aplikacja próbuje importować enquire.js na nodejs, to nie powiedzie się z powodu błędu ReferenceError: window is not defined

Ponieważ okno obiekt nie jest dostępne nodejs Jak obsługiwać bibliotek, które wykorzystują okno do renderowania po stronie serwera?

Odpowiedz

1

Jeszcze nie używałem Webpacka. Miałem jednak podobny problem z przeglądaniem i rozwiązałem go, tworząc dwie kompilacje: jedną dla przeglądarki dla node.js z listą modułów do zignorowania. Można osiągnąć ten sam efekt, dodając do WebPACK config:

{ 
    plugins: [ 
     new webpack.IgnorePlugin(/file\.js$/) 
    ] 
} 

Następnie trzeba upewnić się, że nie robią żadnych połączeń do enquire.js przez sprawdzenie czy require() powrócił wartość false lub obiekt z funkcjami modułu.

+0

możesz udostępnić obejście, które zrobiłeś, aby rozwiązać ten problem za pomocą przeglądarki internetowej. Dziękuję –

+0

Powoduje to 'e.code = 'MODULE_NOT_FOUND'; rzuć e; }())); 'błąd. Nie działa w ten sposób. – SudoPlz

Powiązane problemy