Absolute Imports and Module Path Aliases
Examples
Next.js, tsconfig.json ve jsconfig.json dosyalarının "paths" ve "baseUrl" seçenekleri için yerleşik desteğe sahiptir.
Bu seçenekler, proje dizinlerini mutlak yollara takma ad olarak eklemenize olanak tanıyarak modülleri içe aktarmayı kolaylaştırır. Örneğin:
// before
import { Button } from '../../../components/button'
// after
import { Button } from '@/components/button'Bilmenizde fayda var:
create-next-appbu seçenekleri sizin için yapılandırmanızı isteyecektir.
Absolute Imports
baseUrl yapılandırma seçeneği, doğrudan projenin kökünden içe aktarmanıza olanak tanır.
Bu yapılandırmaya bir örnek:
tsconfig.json or jsconfig.json
{
"compilerOptions": {
"baseUrl": "."
}
}components/button.tsx
export default function Button() {
return <button>Click me</button>
}app/page.tsx
import Button from 'components/button'
export default function HomePage() {
return (
<>
<h1>Hello World</h1>
<Button />
</>
)
}Module Aliases
baseUrl yolunu yapılandırmanın yanı sıra, modül yollarını "takma ad" olarak kullanmak için "paths" seçeneğini de kullanabilirsiniz.
Örneğin, aşağıdaki yapılandırma @/components/* adresini components/* adresiyle eşler:
tsconfig.json or jsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/components/*": ["components/*"]
}
}
}components/button.tsx
export default function Button() {
return <button>Click me</button>
}app/page.tsx
import Button from '@/components/button'
export default function HomePage() {
return (
<>
<h1>Hello World</h1>
<Button />
</>
)
}"paths" adresinin her biri baseUrl konumuna göredir. Örneğin:
// tsconfig.json or jsconfig.json
{
"compilerOptions": {
"baseUrl": "src/",
"paths": {
"@/styles/*": ["styles/*"],
"@/components/*": ["components/*"]
}
}
}// pages/index.js
import Button from '@/components/button'
import '@/styles/styles.css'
import Helper from 'utils/helper'
export default function HomePage() {
return (
<Helper>
<h1>Hello World</h1>
<Button />
</Helper>
)
}