微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VS Code显示即使WebPack构建正常也找不到模块

如何解决VS Code显示即使WebPack构建正常也找不到模块

我的VS代码说,即使我的WebPack构建仍然可以工作,也找不到导入。

这是导入...

import * as tf from '@tensorflow/tfjs';

以及来自VS Code的消息:

找不到模块'@ tensorflow / tfjs'。您是要将“ moduleResolution”选项设置为“ node”,还是要向“ paths”选项添加别名?

我已阅读有关路径别名的内容,可以在tsconfig.json中进行设置,以缩短通往模块的长路径。但是,如果这是路径别名,而我没有在tsconfig.json中配置它,WebPack如何知道模块的位置?

我还读到,路径别名的约定以“ @”开头,但是“ node_modules”本身中的文件夹称为“ @tensorflow”,因此我不知道它是否真的是路径别名,并且如果不是,也许WebPack神奇地知道它必须在“ node_modules”中搜索该模块?

如您所见,我对此感到非常困惑,如果有人可以帮我解决这个问题,并解释我为阻止VS Code抱怨导入而必须采取的措施,我将感到非常满意。

解决方法

自行找到解决方案。

我只在“ path”选项中找到关于在tsconfig.json中明确定义别名的东西,但这不能解决我的问题,因为在我的其他Angular项目中,即使我定义了这样的东西,也没有我在这里使用@Angular导入很多,没有这个问题。

但是后来我在Angular项目"moduleResolution": "node"中发现了这一点。

如打字稿文档所述:

但是,对非相对模块名称的解析则不同。 Node会在名为node_modules的特殊文件夹中寻找您的模块。

而且,它确实有效。是的,自从我的问题在VS Code的消息中编写该代码以来,我可能早就尝试过此方法,但是我虽然这仅适用于node.js特定项目,但我在任何地方都没有读过。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。