Nem*_*nus 6 javascript typescript webpack visual-studio-code
My VS Code says that it can't find an import even though my WebPack build still works.
Here is the import...
import * as tf from '@tensorflow/tfjs';
Run Code Online (Sandbox Code Playgroud)
以及来自 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 特定项目,而且我没有在任何地方读到过这一点。
| 归档时间: |
|
| 查看次数: |
3447 次 |
| 最近记录: |