Настройка выходного каталога при создании приложения React с помощью TypeScript

В этой статье блога мы рассмотрим различные методы настройки выходного каталога в проекте Create React App (CRA) с помощью TypeScript. По умолчанию CRA генерирует связанные файлы JavaScript в каталоге «build». Однако бывают ситуации, когда вам может потребоваться изменить этот выходной каталог на другое место. Мы обсудим несколько подходов к достижению этой настройки вместе с примерами кода.

Метод 1: изменение сценария «сборки» в package.json
Один простой способ изменить выходной каталог — изменить сценарий «сборки» в файле package.json. По умолчанию он запускает команду сборки act-scripts, которая создает готовую к работе сборку в каталоге «build». Чтобы изменить этот каталог, обновите скрипт следующим образом:

"scripts": {
  "build": "react-scripts build && mv build custom-output-dir"
}

В этом примере выполняется команда сборки, а затем каталог «build» перемещается в пользовательский выходной каталог с именем «custom-output-dir».

Метод 2: использование пакета «react-app-rewired»
Другой метод предполагает использование пакета «react-app-rewired», который позволяет настраивать конфигурацию CRA по умолчанию без его извлечения. Чтобы изменить выходной каталог с помощью «react-app-rewired», выполните следующие действия:

Шаг 1. Установите необходимые пакеты:

npm install react-app-rewired customize-cra --save-dev

Шаг 2. Создайте файл config-overrides.js в корневом каталоге вашего проекта и добавьте следующий код:

const path = require('path');
module.exports = function override(config, env) {
  // Update the output directory
  config.output.path = path.join(__dirname, 'custom-output-dir');

  return config;
};

Шаг 3. Обновите раздел «scripts» в package.json, чтобы использовать «react-app-rewired» вместо «react-scripts»:

"scripts": {
  "start": "react-app-rewired start",
  "build": "react-app-rewired build",
  "test": "react-app-rewired test",
  ...
}

Метод 3: использование вилки «react-scripts».
Если вы предпочитаете не использовать «react-app-rewired», вы можете создать вилку пакета «react-scripts» и изменить ее в соответствии с вашими потребностями. потребности. Вот как это можно сделать:

Шаг 1. Создайте новый каталог с именем «custom-react-scripts» в корневом каталоге вашего проекта.

Шаг 2. Скопируйте каталог «scripts» из «node_modules/react-scripts» в «custom-react-scripts».

Шаг 3. Обновите файл «scripts/build.js» внутри «custom-react-scripts», чтобы изменить путь вывода. Найдите строку, начинающуюся с const paths = require(, и обновите ее следующим образом:

const paths = require(`../config/paths`);
paths.appBuild = path.join(paths.appPath, 'custom-output-dir');

Шаг 4. Обновите раздел «scripts» в package.json, чтобы использовать специальную вилку «react-scripts»:

"scripts": {
  "start": "react-scripts start",
  "build": "node custom-react-scripts/scripts/build.js",
  "test": "react-scripts test",
  ...
}

Настроить выходной каталог в проекте Create React App с помощью TypeScript можно различными методами. Мы рассмотрели три подхода к изменению сценария «сборки», используя «react-app-rewired» и создав ответвление «реагирующих сценариев». Выберите метод, который лучше всего соответствует требованиям вашего проекта, и следуйте предоставленным примерам кода для его успешной реализации.