宗地别名未在tslint中注册

我正在使用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,包裹中存在别名导入?

charoto 回答:宗地别名未在tslint中注册

首先,请删除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中的别名无法连接目录。它必须是完整路径。

本文链接:https://www.f2er.com/2899663.html

大家都在问