我正在使用parcel-bundler与TypeScript进行交互,并且已经在package.json中设置了一些别名。
这是我的tsconfig.json
{
"compilerOptions": {
"allowJs": true,
"jsx": "react",
"baseUrl": ".",
"paths": {
"~*": ["./src/*"]
}
},
"include": ["./declarations.d.ts", "global.d.ts"]
}
这是我的别名
"alias": {
"#types": "./src/types",
"#App": "./src/App",
"#helpers": "./src/helpers",
"#shared": "./src/shared"
}
当我使用这些别名导入任何东西
import Button from "#shared/Button";
它强调了他们,在Vscode中说Cannot find module #shared/Button
但是,该应用程序运行良好。那么我该如何告诉tslint,包裹中存在别名导入?
答案 0 :(得分:0)
首先,请删除package.json中的所有别名,以免造成混淆。
然后将其安装为开发依赖项:
npm install --save-dev babel-plugin-module-resolver
将波浪号更改为哈希:
{
"compilerOptions": {
"allowJs": true,
"jsx": "react",
"baseUrl": ".",
"paths": {
"#*": ["./src/*"]
}
},
"include": ["./declarations.d.ts", "global.d.ts"]
}
将插件添加到.babelrc
:
{
"plugins": [
["module-resolver", {
"root": ["."],
"alias": {
"#shared": "./src/shared"
}
}]
]
}
注意:babelrc
中的别名无法连接目录。它必须是完整路径。