导入AntDesign组件的打字稿警告“找不到模块”

时间:2019-02-14 11:40:39

标签: reactjs typescript webpack antd

我的环境包含Webpack 4.16,React 16.4,TypeScript 3.3和AntDesign 3.13

一切正常,我可以从AntD导入每个组件,以优化我的文件和最终大小。

我还使用 webpack-bundle-analyzer 来检查我每次导入的大小。

我的问题是警告我正在使用编辑器:

Cannot find antd module

如何添加我的node_modules库以免收到警告?为什么即使没有找到模块也能正常工作?


更新1

为了更好地理解它,我正在应用一些WebPack配置以查看是否有任何结果:

const getResolves = {
  extensions: ['.ts', '.js', '.tsx', '.less'],
  modules: ['src/less', 'src/ts', 'src', 'node_modules'],
  alias: {
    antd: path.resolve(__dirname, './node_modules/antd'),
  }
};

我试图向 antd 库添加别名。它通常像以前一样工作,但是警告仍然存在。


更新2

好消息!我可以找到一种使其工作的方法,并且此帖子已更新为答案。我将开放这个问题,以查看是否有人对它有不同的方法或更好的解释。


谢谢!

1 个答案:

答案 0 :(得分:1)

我在这里找到了这个人提出的解决方案:https://github.com/Microsoft/vscode/issues/25312#issuecomment-449609664

我刚刚在tsconfig文件中添加了一个新属性“ moduleResolution”:“节点”

{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "baseUrl": "./src",
    "moduleResolution": "node",
    "outDir": "./dist/",
    "sourceMap": true,
    "noImplicitAny": true,
    "module": "es6",
    "target": "es5",
    "jsx": "react",
    "allowJs": true
  },
  "exclude": [
    "node_modules"
  ]
}