簡體   English   中英

VS Code 顯示模塊未找到,即使 WebPack 構建有效

[英]VS Code shows module not found even though WebPack build works

我的 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"中發現了這個。

如其他 typescript 文檔所述:

但是,非相對模塊名稱的解析執行方式不同。 Node 將在名為 node_modules 的特殊文件夾中查找您的模塊。

看,它起作用了。 是的,我可能早點嘗試過這個,因為它寫在我的問題的 VS Code 的消息中,但我雖然這只適用於 node.js 個特定項目,但我沒有在任何地方讀到過這個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM