Page 41 -
P. 41

이제 코드에서 node_modules 내부의 라이브러리를 불러올 수 있게 설정합니다.

                     config/webpack.config.server.js
                      const paths = require('./paths');
                      const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent');

                      const cssRegex = /\.css$/;
                      const cssModuleRegex = /\.module\.css$/;
                      const sassRegex = /\.(scss|sass)$/;
                      const sassModuleRegex = /\.module\.(scss|sass)$/;


                      module.exports = {
                        mode: 'production', // 프로덕션 모드로 설정하여 최적화 옵션들을 활성화
                        entry: paths.ssrIndexJs, // 엔트리 경로
                        target: 'node', // node 환경에서 실행될 것이라는 점을 명시
                        output: {
                          path: paths.ssrBuild, // 빌드 경로
                          filename: 'server.js', // 파일 이름
                          chunkFilename: 'js/[name].chunk.js', // 청크 파일 이름
                          publicPath: paths.servedPath, // 정적 파일이 제공될 경로
                        },
                        module: {
                          rules: [                                                                   20
                            {
                              oneOf: [
                                (...)
                          ]                                                                           서버 사이드 렌더링
                        },
                        resolve: {
                          modules: ['node_modules']
                        }
                      };


                    이렇게 했을 때 react, react-dom/server 같은 라이브러리를 import 구문으로 불러오면 node_

                    modules에서 찾아 사용합니다. 라이브러리를 불러오면 빌드할 때 결과물 파일 안에 해당 라이브
                    러리 관련 코드가 함께 번들링됩니다.

                    브라우저에서 사용할 때는 결과물 파일에 리액트 라이브러리와 우리의 애플리케이션에 관한 코드
                    가 공존해야 하는데요. 서버에서는 굳이 결과물 파일 안에 리액트 라이브러리가 들어 있지 않아도
                    됩니다. node_modules를 통해 바로 불러와서 사용할 수 있기 때문이죠.



                                                                                                  551





     리액트를 다루는 기술_개정판(본문)최종출력용.indb   551                                                    2019-08-20   오전 11:03:33
   36   37   38   39   40   41   42   43