javascript - VS Code 显示模块未找到,即使 WebPack 构建有效
问题描述
我的 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 抱怨导入,我会非常高兴。
解决方案
我自己找到了解决方案。
我只在“路径”选项中找到了关于在 tsconfig.json 中明确定义别名的东西,但这不能解决我的问题,因为在我的其他 Angular 项目中,即使我正在使用,也没有任何类似的定义@Angular 在没有这个问题的情况下在那里导入了很多东西。
但后来我在我的 Angular 项目中发现了这个"moduleResolution": "node"
。
如其他打字稿文档中所述:
但是,非相对模块名称的解析方式不同。Node 将在名为 node_modules 的特殊文件夹中查找您的模块。
瞧,它起作用了。是的,我可能早点尝试过,因为它写在我的问题中来自 VS Code 的消息中,但我虽然这只是针对 node.js 特定项目的东西,我没有在任何地方读到这个。
推荐阅读
- windows - 您可以使用 PowerShell 压缩网络共享上的文件而不将它们下载到客户端吗?
- python - Ajax 提交导致页面 404 错误的类似按钮
- javascript - 当其他用户输入数据时更新数据
- git - 在 VScode 上更改 git 帐户
- nvm - 我不断收到“您需要在使用前运行“nvm install N/A”来安装它。” 即使我已经安装了 lts/*
- redis - Redis如何一次持久化多个键
- javascript - react-bootstrap流体jumbotron不覆盖网页的整个宽度
- firebase - 如何使用flutter检查电话号码是否已在firebase身份验证中注册
- python - 以下动议 [[ 如何适用?
- php - Azure AD SAML 自定义登录页面