23
loading...
This website collects cookies to deliver better user experience
../
nos imports desses arquivos.import ExampleComponent from '../../../../../../src/components/ExampleComponent/'
../
traz algumas dores no momento em que precisamos dar manutenção ao nosso código, dentre elas, o retrabalho de consertar o caminho relativo toda vez que precisamos alterar o local de um arquivo importado ou do arquivo importador.import ExampleComponent from '~/components/ExampleComponent/'
~
foi configurado como um caminho absoluto de um diretório do nosso projeto, nesse caso o diretório é a pasta src
. Dessa forma, não importa em qual pasta o nosso arquivo esteja, quando utilizarmos o prefixo ~/
, sempre estaremos importando o path absoluto da pasta src
.eject
e sem a necessidade de criar um fork do react-scripts.yarn add -D react-app-rewired customize-cra
yarn add -D babel-plugin-root-import
config-overrides.js
. Ele será o responsável por estabelecer a pasta raiz do nosso projeto.const { addBabelPlugin, override } = require('customize-cra')
module.exports = override(
addBabelPlugin([
'babel-plugin-root-import',
{
rootPathSuffix: 'src',
},
])
)
jsconfig.json
. Ele será o responsável por fazer com que o VSCODE entenda os paths personalizados.{
"compilerOptions": {
"baseUrl": "src",
"paths": {
"~/*": ["*"]
}
}
}
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"
}
}
react-scripts
por react-app-rewired
, com exceção do script eject.src
utilizando o ~/
no momento do import.import ExampleComponent from '~/components/ExampleComponent/'