Рубрики
Без рубрики

🇧🇷 | Пути импорта персонализадос e como isso pode te ajudar

Deixando OS SEUS Imports Mais Elegantes E Organizados – Parte 01 SE ESESE UMA DOR QUE ME INPOMODA … Помечено Codequality, Braziliandevs, JavaScript, новички.

Deixando OS SEUS Imports Mais elegantes e Organizados – Parte 01

SE ESESICE UMA DOR QUE ME INCOMODA QUANDO ESTOU DESENVOLVENDO UMA APLICACãO COM MIUTOS ARQUIVOS, Escessos Esses arquivos impormam wootros arquivos, e Isso provoca um excesso de ../ NOS Импорт Десс Аркивос.

É Comum vermos que a medida que a nossa aplicação vai crescendo, как Pastas dos arquivos do nosso projeto vão se aninhando cada vez mais dentro de версас, e quando menos esperamos nos deparamos como oguinte everse de imports: e quando esperamos nos deparamos como oguinte.

import ExampleComponent from '../../../../../../src/components/ExampleComponent/'

O Пример acima é Real E é Muito Mais comum do Que Imaginamos. Infelizmente o uso excessivo desses ../ Traz Algumas Dores no ommer em que precisamos dar manutenção ao nosso código, dentre elas, o retabalho de consertar o caminho relativo toda que que precisamos alterar o local de am arquivo importado ou do arquivo importador.

UMA DAS FORMAS MAIS SIMPLES DE DEIXARMOS ESSE IMPORT MAIS ELEGANTE E ARTARANADO ERMADO CRIANDO UM PATHERIZADO E DEIXANDO-O COMO ABSOLUTO. Dessa Forma, O Exemplo Acima Poderia ficar Assim:

import ExampleComponent from '~/components/ExampleComponent/'

Нет пример Acima, O Prefixo ~ foi configurado como um caminho absoluto de um diretório do nosso projeto, nesse caso o diretório é SRC . Dessa Forma, Não importa ec Qual Pasta O Nosso Arquivo Esteja, Quando utilizarmos O Prefixo ~/ , semper estaremos ammpormando o Путь Абсолюто SRC .

Бем Луко Не?!

Fazendo Acontecer

Инсталандо как зависимость от необходимости

Antes de Tudo, PerfisaRemos Instalar E Configurar Três зависит от Para Que essa mágica funcione. E Elas Säo:

React-App, заменяемый E raversize-cra

NA RAIZ DO NOSSO PROJETO, VAMOS EXERATAR O COMANDO ABAIXO PARA PERARENISARMOS AS COUNTIRURURACõES DO WEBPACK SEM необходим для Utilizar O выбросить E SEM Необходимость де-криар-эм-вилка реагирует.

yarn add -D react-app-rewired customize-cra

Вабель-плугин-корень-импорт

Агора Вамос Руководство o comando abaixo para impormarmos arquivos usando paths perlonseizados.

yarn add -D babel-plugin-root-import

Criando o ‘config-overrides.js’

Тамбем на Райз до Носсо Прато, Криармос Ум Арквиво Чамадо config-overrides.js . Ele será o responseavel por estabelecer А паста Райз до Носсо ПРОЕКТОР.

Vamos inserir esse código no arquivo:

const { addBabelPlugin, override } = require('customize-cra')

module.exports = override(
  addBabelPlugin([
    'babel-plugin-root-import',
    {
      rootPathSuffix: 'src',
    },
  ])
)

FARITITANDO A VIDA DO DEV Редактор

Ainda na raiz do nosso projeto, criaremos um arquivo wamado jsconfig.json . Ele será o responseavel por fazer com que o vscode ant os paths personmalizados.

Vamos inserir esse código no arquivo:

{
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "~/*": ["*"]
    }
  }
}

Últimos Detalhes

Por último, atualeizaremos os сценарии без arquivo package.json . Deixe-OS Dessa Forma:

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

Como você pode assersar, estamos optituindo todos os сценарии React-Scripts порт React-AppRired , com exceção do script выбросить Анкет

Tudo ronto!

Agora Podemos utilizar Qualquer Arquivo Dentro Da Nossa Pasta SRC Утилизандо o ~/ Нет импорта.

import ExampleComponent from '~/components/ExampleComponent/'

E…

Se Quiser erse esmemplo na prática, você pode dar uma olhadinha no template que eu criei para projetos реагировать Aqui:

Coderamos/Template-Reactjs

Этот проект содержит основную структуру для проектов React. Он также включает в себя мои настройки для вабеля-плугин-корректа, эслинта-плугин-импорта, пропальных типов, реагирующих маршрутизаторов, компонентов стиля и многого другого …

Lá eu também configurei o eslint e utras coisas para facilitar a estrutura inicial do seu projeto.

Comenta aí o Que você acha dessa abordagem nos nossos imports:)

Оригинал: “https://dev.to/coderamos/import-paths-personalizados-e-como-isso-pode-te-ajudar-40b3”