[javascript] 리액트 프레임워크에서 모듈 번들러를 사용하는 방법은 어떻게 되나요?
먼저, 웹팩을 설치해야 합니다. 터미널에서 다음 명령어를 실행하여 웹팩을 설치합니다:
npm install webpack webpack-cli --save-dev
웹팩을 설치한 후, 프로젝트의 루트 폴더에 webpack.config.js
라는 이름의 파일을 생성합니다. 이 파일은 웹팩의 설정 파일로 사용될 것입니다.
다음은 webpack.config.js
파일에 작성할 내용입니다:
const path = require('path');
module.exports = {
entry: './src/index.js', // 애플리케이션의 진입점
output: {
path: path.resolve(__dirname, 'dist'), // 번들된 파일의 출력 경로
filename: 'bundle.js' // 번들된 파일의 이름
},
module: {
rules: [
{
test: /\.js$/, // .js 확장자를 가진 모든 파일에 대하여
exclude: /node_modules/, // node_modules 폴더는 제외하고
use: 'babel-loader' // babel-loader를 사용하여 자바스크립트 파일을 변환
}
]
},
resolve: {
extensions: ['.js', '.jsx'] // 자바스크립트와 JSX 파일을 모듈로 사용할 수 있도록 확장자를 설정
},
devServer: {
contentBase: path.resolve(__dirname, 'dist'), // 개발 서버가 제공할 파일들의 경로
port: 3000, // 개발 서버의 포트
open: true // 개발 서버가 자동으로 브라우저를 열도록 설정
}
};
위의 설정파일에서 주목할 점은 entry
, output
, module
, resolve
, devServer
등의 속성입니다. entry
는 애플리케이션의 진입점을 지정하고, output
는 번들된 파일의 경로와 이름을 지정합니다. module
은 모듈 로딩에 대한 규칙을 지정하고, resolve
는 자바스크립트 확장자를 설정합니다. devServer
는 개발 서버를 설정하는 부분입니다.
설정이 완료되면, 터미널에서 다음 명령어를 실행하여 웹팩을 실행합니다:
npx webpack --mode development
위 명령어를 실행하면, src/index.js
파일과 해당 모듈들이 번들로 묶여 dist/bundle.js
파일이 생성됩니다. 또한 개발 서버가 dist
폴더를 기반으로 작동하며, 브라우저에서 http://localhost:3000
으로 애플리케이션을 확인할 수 있습니다.
웹팩을 통해 리액트 애플리케이션을 번들링하는 방법에 대해 알아보았습니다. 웹팩을 사용하면 모듈 시스템을 활용하여 리액트 애플리케이션을 보다 효율적으로 구성할 수 있습니다.