@craco/craco

설정 오버라이드: CRACO를 사용하면 CRA의 기본 설정을 덮어쓸 수 있습니다. 예를 들어, Babel, ESLint, 웹팩 등의 설정을 변경하거나 확장할 수 있습니다.

플러그인 지원: 다양한 CRACO 플러그인을 사용하여 프로젝트의 특정 요구 사항에 맞게 설정을 수정할 수 있습니다. 이러한 플러그인은 CRA의 설정을 확장하고 새로운 기능을 추가할 수 있습니다.

유연성: CRACO는 CRA와 함께 사용할 수 있으며, CRA의 내부 동작을 변경하지 않고도 프로젝트의 설정을 조정할 수 있습니다.

npm install @craco/craco --save-dev

이 예제에서는 @을 프로젝트의 src 디렉토리로 매핑하여 절대 경로를 설정합니다.

// craco.config.js

const path = require('path');

module.exports = {
  webpack: {
    configure: (webpackConfig, { env, paths }) => {
      // 기존의 경로 설정을 사용하기 전에 설정합니다.
      webpackConfig.resolve.alias = {
        ...webpackConfig.resolve.alias,
        // src 디렉토리를 기본 경로로 설정합니다.
        '@': path.resolve(__dirname, 'src')
      };

      return webpackConfig;
    }
  }
};
// src/components/ExampleComponent.js

import React from 'react';
import OtherComponent from '@/components/OtherComponent'; // @를 사용한 절대 경로

const ExampleComponent = () => {
  return (
    <div>
      <h1>Example Component</h1>
      <OtherComponent />
    </div>
  );
};

export default ExampleComponent;

이제 프로젝트가 CRA와 CRACO의 설정을 함께 사용하여 실행됩니다.

Loading

Leave a Reply

Your email address will not be published. Required fields are marked *