본문 바로가기

자바스크립트

강의 23: 자바스크립트 빌드 도구와 자동화

반응형

개념 설명:

이 강의는 자바스크립트 애플리케이션을 개발 및 배포하기 위한 빌드 도구와 자동화에 대한 내용을 다룹니다.
빌드 도구 소개: 빌드 도구는 소스 코드를 빌드하고 최적화하여 배포 가능한 상태로 만드는 도구입니다. 대표적인 빌드 도구로는 Webpack, Gulp, Grunt 등이 있습니다.
CI/CD 파이프라인 설정: CI(Continuous Integration) 및 CD(Continuous Deployment/Delivery) 파이프라인은 코드 변경 사항을 자동으로 테스트하고 배포하는 프로세스를 설정하는 방법을 다룹니다.

 

 

 

빌드 도구로 Webpack을 사용한 간단한 예제 코드를 더 상세하게 구현해보겠습니다. 이 예제에서는 ES6 모듈을 사용하고, JavaScript 파일을 번들링하여 결과 파일을 생성하는 과정을 포함합니다.

프로젝트 디렉토리 구조:
프로젝트 디렉토리를 다음과 같이 구성합니다.

my-app/
  ├── src/
  │    └── index.js
  ├── dist/
  │    └── bundle.js
  ├── package.json
  ├── webpack.config.js
  └── index.html

 

패키지 설치:
Webpack과 Babel을 사용하기 위해 프로젝트 폴더에서 다음 명령어로 필요한 패키지를 설치합니다.

npm install webpack webpack-cli babel-loader @babel/core @babel/preset-env --save-dev

 

Webpack 설정 파일 (webpack.config.js) 작성:
프로젝트 폴더에 webpack.config.js 파일을 생성하고 다음과 같이 설정합니다.

// webpack.config.js
const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env'],
          },
        },
      },
    ],
  },
};

 


JavaScript 코드 작성:
src/index.js 파일에 다음과 같이 간단한 ES6 모듈을 작성합니다.

// src/index.js
const add = (a, b) => a + b;
console.log(add(2, 3)); // 출력: 5


HTML 파일 작성 (index.html):
결과 파일 bundle.js를 불러올 HTML 파일을 작성합니다.

<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Webpack Example</title>
</head>
<body>
  <script src="dist/bundle.js"></script>
</body>
</html>


빌드 명령 실행:
프로젝트 폴더에서 다음 명령어를 실행하여 Webpack을 사용하여 코드를 번들링합니다.
npx webpack --mode production


결과 확인:
빌드가 완료되면 dist 폴더에 bundle.js 파일이 생성됩니다. 웹 브라우저로 index.html을 열어 콘솔을 확인하면 5가 출력됩니다.

 

 

전문 용어 상세 설명:

  • 빌드 도구 소개: 빌드 도구는 소스 코드를 번들링하고, ES6 코드를 ES5로 변환하며, CSS나 이미지 파일과 같은 리소스를 최적화하여 배포하기 쉽게 만드는 도구입니다. 이러한 도구는 프로젝트를 효율적으로 관리하고 성능을 향상시킵니다.
  • CI/CD 파이프라인 설정: CI는 지속적 통합을 의미하며, 코드 변경 사항을 자동으로 테스트하여 품질을 유지하고 버그를 신속하게 찾아낼 수 있도록 합니다. CD는 지속적 배포(Continuous Deployment) 또는 지속적 배포(Continuous Delivery)를 의미하며, 코드 변경 사항을 자동으로 배포 및 릴리스하는 프로세스를 설정합니다.
반응형