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”