소개
이번 글에서는 Webpack을 사용하여 멀티 페이지 애플리케이션을 구현하는 방법에 대해 살펴보겠습니다. 멀티 페이지 애플리케이션이란, 여러 개의 페이지로 구성된 애플리케이션을 말합니다. 각 페이지는 독립적인 HTML, CSS, JavaScript 파일을 가지며, 서로 다른 기능을 수행합니다. 이러한 구조를 갖는 애플리케이션은 일반적으로 CMS(Content Management System)이나 e-commerce 플랫폼에서 많이 사용됩니다.
이 글에서는 Webpack을 사용하여 멀티 페이지 애플리케이션의 빌드 과정을 자동화하고, 각 페이지의 의존성을 관리하는 방법에 대해 알아보겠습니다.
준비물
이 글을 따라하기 위해서는 다음과 같은 소프트웨어와 패키지가 필요합니다.
- Node.js: https://nodejs.org/ko/
- Webpack:
npm install webpack webpack-cli --save-dev
프로젝트 구조
먼저 프로젝트의 디렉토리 구조를 생성해보겠습니다.
my-app/
|- src/
| |- index.html
| |- about.html
| |- contact.html
| |- index.js
| |- about.js
| |- contact.js
|- dist/
|- webpack.config.js
|- package.json
위 구조에서 src
디렉토리는 각각의 페이지에 대한 HTML 파일과 JavaScript 파일을 포함합니다. dist
디렉토리는 Webpack으로 빌드한 결과물을 담습니다. webpack.config.js
는 Webpack의 설정 파일이며, package.json
은 프로젝트의 의존성을 관리합니다.
Webpack 설정
이제 Webpack의 설정 파일인 webpack.config.js
을 작성해보겠습니다.
const path = require('path');
module.exports = {
mode: 'development',
entry: {
index: './src/index.js',
about: './src/about.js',
contact: './src/contact.js'
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist')
}
};
위 설정 파일에서 entry
는 각 페이지의 JavaScript 파일을 지정하고, output
은 Webpack으로 빌드한 파일의 경로와 이름을 설정합니다. 이 설정을 통해 각 페이지별로 별도의 JavaScript 파일을 생성할 수 있습니다.
HTML 파일 생성
이제 HTML 파일을 생성하고, 해당 파일에서 생성한 JavaScript 파일을 로드하도록 수정해보겠습니다. 각 HTML 파일에는 다음과 같은 코드를 추가합니다.
<!-- index.html -->
<html>
<head>
<title>My App - Home</title>
</head>
<body>
<h1>Welcome to My App!</h1>
<script src="index.bundle.js"></script>
</body>
</html>
<!-- about.html -->
<html>
<head>
<title>My App - About</title>
</head>
<body>
<h1>About Us</h1>
<script src="about.bundle.js"></script>
</body>
</html>
<!-- contact.html -->
<html>
<head>
<title>My App - Contact</title>
</head>
<body>
<h1>Contact Us</h1>
<script src="contact.bundle.js"></script>
</body>
</html>
위 코드에서 JavaScript 파일의 경로는 Webpack 설정 파일에 따라 자동으로 생성됩니다. 이를 통해 각 페이지별로 해당 페이지에 필요한 JavaScript 파일을 로드할 수 있습니다.
빌드하기
이제 Webpack을 사용하여 프로젝트를 빌드해보겠습니다. 터미널을 열고 다음 명령을 실행합니다.
npx webpack --config webpack.config.js
이 명령을 실행하면 Webpack은 설정 파일에 따라 코드를 번들링하여 dist
디렉토리에 결과물을 생성합니다.
실행하기
빌드가 완료되면 각 HTML 파일을 웹 브라우저로 실행해보세요. 각 페이지는 독립적으로 동작하며, 해당 페이지에 필요한 JavaScript 파일을 로드하여 기능을 수행합니다.
결론
이번 글에서는 Webpack을 사용하여 멀티 페이지 애플리케이션을 구현하는 방법에 대해 알아보았습니다. Webpack을 활용하면 각 페이지별로 독립적인 JavaScript 파일을 생성하고 관리할 수 있으며, 빌드 과정을 자동화할 수 있습니다. 멀티 페이지 애플리케이션이 필요한 경우 Webpack을 사용하여 구현해보세요.
참고 자료
- Webpack 공식 문서: https://webpack.js.org/
- Webpack 예제 GitHub 저장소: https://github.com/webpack/webpack/tree/main/examples