У меня есть модуль узла, для которого я хочу создать псевдоним.
У меня есть следующие конфигурации:
// tsconfig.json
{
"compilerOptions": {
...
"allowJs": true,
"module": "commonjs",
"target": "es6",
"jsx": "react",
"esModuleInterop": true,
"experimentalDecorators": true,
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
"@my-lib/*": [
"node_modules/my-lib/src/Components/*"
]
}
},
"exclude": ["node_modules"]
}
// webpack.config.js
resolve: {
extensions: ['.js', '.jsx', '.tsx', '.ts'],
alias: {
'@my-lib': path.resolve(
'./node_modules/my-lib/src/Components'
),
}
},
// eslintrc.json
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
"typescript": {},
"alias": {
"map": [
[
"@my-lib",
"./node_modules/my-lib/src/Components"
]
],
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
Но при импорте модуля из my-lib vscode auto import разрешает его так: my-lib/src/Components/...
Другая конфигурация, которая у меня есть: "typescript.preferences.importModuleSpecifier": "relative",
(хотя я пробовал авто и не относительно)
Я попробовал почти все комбинации baseUrl
и paths
.
Цените любую помощь!