5

Я пытаюсь реализовать рендеринг на стороне сервера для своего приложения-приложения. Я использую webpack для создания приложения reactjs, расширенного разрешения для обработки импорта файлов jsx в nodejs.Как обрабатывать объект window на nodejs для серверной рендеринга приложения reactjs

Мое приложение зависит от сторонних библиотек, таких как enquire.js. Когда реагировать приложение пытается импортировать enquire.js на nodejs, он терпит неудачу с ошибкой ReferenceError: window is not defined

Поскольку объект окна не доступно nodejs как обрабатывать библиотеки, которые используют окно на стороне сервера визуализации?

ответ

1

Я еще не использовал Webpack. Тем не менее, у меня была аналогичная проблема с использованием браузера, и я решил ее, создав две сборки: одну для браузера one для node.js со списком модулей для игнорирования. Вы можете достичь того же эффекта путем добавления к WebPack конфигурации:

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

Тогда вы должны убедиться, что вы не делаете никаких звонков в enquire.js, проверяя, если require() возвращается ложное значение или объект с функциями модуля.

+0

Вы можете поделиться обходным решением, которое вы сделали, чтобы решить эту проблему с помощью браузера. Спасибо –

+0

Это вызывает 'e.code = 'MODULE_NOT_FOUND'; бросать e; }())); 'ошибка. Не работает так. – SudoPlz