상대적 수입에 지쳤습니까? 그들을 제거할 시간입니다!
import Car from '../../../vehicles/car'
import House from '../../../buildings/house'
그리고 당신은 아마도 그들의 추악함에 괴로워했을 것입니다 ...
하지만 그거 알아? 나는 그들을 제거하는 방법을 보여주기 위해 구세주로 여기 있습니다! (정말) 😎
준비가 된? 갑시다! 🏁
기본 URL
이러한 끔찍한 가져오기를 제거하는 가장 간단한 방법은 단순히 jsconfig.json
파일을 편집하는 것입니다. 아직 없는 경우 프로젝트의 루트에서 만들 수 있습니다.
다음 키를 사용하여 완료해 보겠습니다.
{
"compilerOptions": {
"baseUrl": "."
}
}
이제 가장 학구적인 분들은 "컴파일러 옵션? 하지만 JavaScript는 컴파일된 언어가 아닙니다!"라고 생각할 수 있습니다. 그리고 당신 말이 맞아요! 이 키가 존재하는 이유를 알고 싶다면 Visual Studio Code의 공식 웹 사이트에서 this link을 따르는 것이 좋습니다.
이제 다음과 같은 디렉토리 구조가 있다고 상상해 보십시오.
.
├── components
│ └── layouts
│ └── header.js
├── styles
│ └── header.css
└── jsconfig.json
header.css
스타일 파일을 header.js
파일에 포함하려면 이제 다음과 같이 할 수 있습니다.
// header.js
import 'styles/header.css'
이 구성이 없으면 수행 방법은 다음과 같습니다.
// header.js
import '../../styles/header.css'
이제 프로젝트 아키텍처의 깊이에 관계없이 프로젝트의 루트에 있는 것처럼 파일을 가져올 수 있습니다. 😲
그리고 당연히 현재 있는 디렉토리에서 상대적으로 가져올 수 있습니다!
.
├── src
│ ├── vehicles
│ │ └── car.js
│ │ └── truck.js
│ └── index.js
└── jsconfig.json
// index.js
import truck from './vehicles/truck.js'
경로
우리 jsconfig.json
로 돌아갑니다. 가져오기를 특정 폴더로 매핑하기 위해 paths
키를 추가할 수도 있습니다. 이는 가져오기의 일부 폴더에 별칭을 지정하는 데 유용합니다.
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"css/*": ["styles/*"]
}
}
}
이전 부분에서 본 것과 동일한 폴더 구조를 고려하면 이제 다음과 같이 스타일을 가져올 수 있습니다.
// header.js
import 'css/header.css'
하지만 이렇게 하면 실제 폴더의 이름과 별칭 사이에 불일치가 생길 수 있으므로 전혀 권장하지 않습니다. 대신 단순히 실제 폴더의 이름을 바꾸지 않는 이유는 무엇입니까? 🤨
그럼에도 불구하고 이 옵션은 자주 사용하고 프로젝트의 루트에 있지 않은 폴더에 유용할 수 있습니다. 다음 구조를 고려해 봅시다.
.
├── assets
│ ├── styles
│ │ └── index.css
|── src
│ └── index.js
└── jsconfig.json
우리는 종종 styles
디렉토리를 사용하여 스타일을 가져옵니다. assets
접두사를 제거할 수 있다면 항상 다음과 같이 작성할 필요가 없습니다.
import 'assets/styles/index.css'
이 경우 jsconfig.json
에 다음을 추가할 수 있습니다.
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@styles/*": ["assets/styles/*"]
}
}
}
그런 다음 스타일을 가져오는 방법은 다음과 같습니다.
import '@styles/index.css'
@
는 클래식 가져오기와 구별하기 위해 폴더 매핑 가져오기를 참조하는 일반적인 방법입니다.
타입스크립트
오, TypeScript를 사용하고 있습니까? 대박! 물론 이 트릭을 사용할 수도 있습니다. 유일한 차이점은 이러한 설정을 jsconfig.json
파일 내부에 쓰지 않고 대신 내부...?
정확히! tsconfig.json
파일 내부. 똑똑하지 않나요? 😏
결론
그게 다야! 이제 그 끔찍한 수입품을 없앴습니다. 축하합니다! 🎉
더 나아가서 특히 소스 코드의 일부가 아닌 일부 디렉터리를 제외하려면 공식 Visual Studio Code 웹 사이트에서 this link을 따르는 것이 좋습니다.
그런 의미에서 저를 끝까지 읽어주셔서 감사하고 이 기사를 통해 무언가를 배웠기를 바랍니다. 😎
Reference
이 문제에 관하여(상대적 수입에 지쳤습니까? 그들을 제거할 시간입니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/iamludal/tired-of-relative-imports-time-to-get-rid-of-them-1n48
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"compilerOptions": {
"baseUrl": "."
}
}
.
├── components
│ └── layouts
│ └── header.js
├── styles
│ └── header.css
└── jsconfig.json
// header.js
import 'styles/header.css'
// header.js
import '../../styles/header.css'
.
├── src
│ ├── vehicles
│ │ └── car.js
│ │ └── truck.js
│ └── index.js
└── jsconfig.json
// index.js
import truck from './vehicles/truck.js'
우리
jsconfig.json
로 돌아갑니다. 가져오기를 특정 폴더로 매핑하기 위해 paths
키를 추가할 수도 있습니다. 이는 가져오기의 일부 폴더에 별칭을 지정하는 데 유용합니다.{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"css/*": ["styles/*"]
}
}
}
이전 부분에서 본 것과 동일한 폴더 구조를 고려하면 이제 다음과 같이 스타일을 가져올 수 있습니다.
// header.js
import 'css/header.css'
하지만 이렇게 하면 실제 폴더의 이름과 별칭 사이에 불일치가 생길 수 있으므로 전혀 권장하지 않습니다. 대신 단순히 실제 폴더의 이름을 바꾸지 않는 이유는 무엇입니까? 🤨
그럼에도 불구하고 이 옵션은 자주 사용하고 프로젝트의 루트에 있지 않은 폴더에 유용할 수 있습니다. 다음 구조를 고려해 봅시다.
.
├── assets
│ ├── styles
│ │ └── index.css
|── src
│ └── index.js
└── jsconfig.json
우리는 종종
styles
디렉토리를 사용하여 스타일을 가져옵니다. assets
접두사를 제거할 수 있다면 항상 다음과 같이 작성할 필요가 없습니다.import 'assets/styles/index.css'
이 경우
jsconfig.json
에 다음을 추가할 수 있습니다.{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@styles/*": ["assets/styles/*"]
}
}
}
그런 다음 스타일을 가져오는 방법은 다음과 같습니다.
import '@styles/index.css'
@
는 클래식 가져오기와 구별하기 위해 폴더 매핑 가져오기를 참조하는 일반적인 방법입니다.타입스크립트
오, TypeScript를 사용하고 있습니까? 대박! 물론 이 트릭을 사용할 수도 있습니다. 유일한 차이점은 이러한 설정을 jsconfig.json
파일 내부에 쓰지 않고 대신 내부...?
정확히! tsconfig.json
파일 내부. 똑똑하지 않나요? 😏
결론
그게 다야! 이제 그 끔찍한 수입품을 없앴습니다. 축하합니다! 🎉
더 나아가서 특히 소스 코드의 일부가 아닌 일부 디렉터리를 제외하려면 공식 Visual Studio Code 웹 사이트에서 this link을 따르는 것이 좋습니다.
그런 의미에서 저를 끝까지 읽어주셔서 감사하고 이 기사를 통해 무언가를 배웠기를 바랍니다. 😎
Reference
이 문제에 관하여(상대적 수입에 지쳤습니까? 그들을 제거할 시간입니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/iamludal/tired-of-relative-imports-time-to-get-rid-of-them-1n48
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
그게 다야! 이제 그 끔찍한 수입품을 없앴습니다. 축하합니다! 🎉
더 나아가서 특히 소스 코드의 일부가 아닌 일부 디렉터리를 제외하려면 공식 Visual Studio Code 웹 사이트에서 this link을 따르는 것이 좋습니다.
그런 의미에서 저를 끝까지 읽어주셔서 감사하고 이 기사를 통해 무언가를 배웠기를 바랍니다. 😎
Reference
이 문제에 관하여(상대적 수입에 지쳤습니까? 그들을 제거할 시간입니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/iamludal/tired-of-relative-imports-time-to-get-rid-of-them-1n48텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)