【问题标题】:VS Code shows module not found even though WebPack build worksVS Code 显示模块未找到,即使 WebPack 构建有效
【发布时间】:2021-02-08 04:26:57
【问题描述】:

我的 VS Code 说它找不到导入,即使我的 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 抱怨导入,我会非常高兴。

【问题讨论】:

标签: javascript typescript webpack visual-studio-code


【解决方案1】:

我自己找到了解决方案。

我只找到了关于在“路径”选项中明确定义 tsconfig.json 中别名的内容,但这不能解决我的问题,因为在我的其他 Angular 项目中,即使我没有这样定义在没有这个问题的情况下,我经常使用 @Angular 导入。

但后来我在我的 Angular 项目 "moduleResolution": "node" 中找到了这个。

如其他打字稿文档中所述:

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

而且,它确实有效。是的,我可能早点尝试过,因为它写在我的问题中来自 VS Code 的消息中,但我虽然这只是针对 node.js 特定项目的东西,我没有在任何地方读到过。

【讨论】:

    猜你喜欢
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 2021-05-26
    • 1970-01-01
    • 2018-09-10
    • 2017-05-06
    相关资源
    最近更新 更多