Modules and Declaration Files
The 6-Hour "Module Not Found" Nightmare
Error: Cannot find module '@utils/helpers'
Error: Cannot find module '@services/api'
Error: Cannot find module '@components/Button'
... 47 more errors// tsconfig.json on my machine
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@utils/*": ["src/utils/*"],
"@services/*": ["src/services/*"],
"@components/*": ["src/components/*"]
}
}
}ES Modules
Basic Export/Import
Default Exports
Mixed Exports
CommonJS
Basic Module.exports
Module Resolution
Classic Strategy (Deprecated)
Node Strategy (Default)
Path Mapping
Basic Path Mapping
Wildcard Mapping
Declaration Files (.d.ts)
Basic Declaration File
Ambient Declarations
Module Augmentation
@types Packages
Installing @types
How @types Works
Custom Types
Triple-Slash Directives
Reference Types
Reference Path
Reference Lib
Namespace vs Modules
Namespaces (Old Style)
Modules (Modern)
Real-World Patterns
1. Barrel Exports
2. Type-Only Imports
3. Dynamic Imports
Project Structure
Monorepo Structure
Shared Types
Common Mistakes I Made
1. Forgetting to Export
2. Circular Dependencies
3. Path Mapping Without Build Tool
Your Challenge
Key Takeaways
What I Learned
Last updated