VSCode智能感知非常棒,当我导入一个javascript函数时,比如
import func from './file';
vs代码将给予一个有用的对话框,其中包含jsdoc的参数,这是因为我使用的是相对文件路径。
然而,如果我正在使用我当前的包,让我们将其命名为package.json中列出的“public”,并尝试使用其绝对路径引用一个文件,则智能感知不会拾取该文件。
// import the same file as above, but using absolute path
// public is the name of the current npm package
import func from 'public/subfolder/file';
理智不再出现。
这是一个错误还是配置问题?
2条答案
按热度按时间pnwntuvh1#
步骤1
创建一个
jsconfig.json
文件来指示vs代码中的JavaScript项目,只需转到vs代码的底部并单击绿色灯泡图标。它将要求您创建
jsconfig.json
。创建jsconfig.json
文件,该文件将包含以下代码。Step2
全局安装类型,用于下载节点模块(如express,mongoose,angular等)的TypeScript定义文件(类型)。
npm install typings --global
TypeScript定义文件是用TypeScript编写的,为函数及其参数提供VS智能感知体验。让我们按如下所示安装express的类型:
typings insall dt~express --global
让我们尝试一下express的编码体验,您将看到express的强大intelliSense。
zzlelutf2#
溶液
在您的
jsconfig.json
〉compilerOptions
::"moduleResolution": "node",
**"module": "CommonJS"
**,--不使用"module": "ES6"
或其他;"target": "XXX"
是什么并不重要)"module": "XXX"
和**"target": "XXX"
**import XXX from '../node_modules/core-decorators/index.js'
参考
[vscode无法正确自动导入节点模块包] https://github.com/microsoft/TypeScript/issues/30472