设置项目的路径别名
以 react + typescript为例,其他项目配置基本一样
项目结构展示

// config/webpack.config.js
module.export = {
...config,
resolve: {
extensions: ['.tsx', '.ts', '.js', '.less'],
alias: {
'@/pages': path.resolve(__dirname, './../src/pages/'),
'@/packages': path.resolve(__dirname, './../src/packages/'),
'@/utils': path.resolve(__dirname, './../src/utils/'),
'@/stores': path.resolve(__dirname, './../src/stores/'),
}
},
}
// tsconfig.json
{
"compilerOptions": {
// ...
"baseUrl": "./",
"paths": {
"@/pages/*": ["./src/pages/*"],
"@/packages/*": ["./src/packages/*"],
"@/utils/*": ["./src/utils/*"],
"@/stores/*": ["./src/stores/*"]
},
// ...
}
}
说明:1. 配有ts的项目必须在webpack和tsconfig里都添加对应的alias配置,否则会报错
2. 在tsconfig.json中配置paths时,必须要加baseUrl。
(仅做个人学习多次遇错的随记哈)
本文介绍了如何在React+TypeScript项目中设置路径别名,以简化模块引用。通过修改`webpack.config.js`和`tsconfig.json`文件,配置`resolve.alias`和`paths`字段,实现`@/pages`,`@/packages`,`@/utils`,`@/stores`等快捷引用。注意,配置`tsconfig.json`时需包含`baseUrl`,并确保在两个配置文件中都进行设置,以避免编译错误。
1265

被折叠的 条评论
为什么被折叠?



