5

reactjs 응용 프로그램의 서버 측 렌더링을 구현하려고합니다. webpack을 사용하여 reactjs 응용 프로그램을 빌드하고 향상된 해결 방법으로 nodejs에서 jsx 파일 가져 오기를 처리합니다.reactjs 응용 프로그램의 서버 측 렌더링을 위해 nodej에서 window 객체를 처리하는 방법

제 신청서는 enquire.js와 같은 타사 라이브러리에 따라 다릅니다. 는 때 그것은 ReferenceError: window is not defined

윈도우 객체는 서버 측 렌더링에 창을 사용하여 라이브러리를 처리하는 방법을 사용할 수 nodejs 하지 않기 때문에 오류와 함께 실패, 응용 프로그램이 nodejs에 enquire.js를 가져하려고 반응?

답변

1

아직 Webpack을 사용하지 않았습니다. 그러나 browserify를 사용하여 비슷한 문제가 발생했으며 두 개의 빌드를 만들어서 해결했습니다. 하나는 node.js 용 브라우저이고 무시할 모듈 목록입니다. 당신은 웹팩 설정에 추가하여 동일한 효과를 얻을 수있다 :

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

그런 다음 당신은 당신이 require() 모듈의 기능을 거짓 값이나 개체를 반환하는 경우 확인하여 enquire.js에 대한 호출을하지 있는지 확인해야합니다.

+0

이 문제를 해결하기 위해 수행 한 대안을 browserify와 공유 할 수 있습니까? 감사합니다 –

+0

이것은'e.code = 'MODULE_NOT_FOUND'; 던져 전자; }()));'오류가 발생했습니다. 이런 식으로 작동하지 않습니다. – SudoPlz