如何让 VSCode 识别当前包 Javascript 导入?

How do I get VSCode to recognize current package Javascript imports?

VSCode 智能感知很棒,当我导入一个 javascript 函数时,比如

import func from './file';

vs code 会给我一个有用的对话框,其中包含来自 jsdoc 的参数。这是因为我使用的是相对文件路径。

但是,如果我正在使用我当前的包,让我们将其命名为 "public",如我的 package.json 中所列,并尝试使用其绝对路径引用文件,智能感知不会不要拿起文件。

// 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'; 

智能感知不再出现。

这是错误还是配置问题?

第一步

创建一个 jsconfig.json 文件以在 vs code 中指示一个 JavaScript 项目,只需转到 vs code 的底部并单击绿色灯泡图标。

它会要求你创建jsconfig.json。创建 jsconfig.json 文件,其中将包含以下代码。

//jsconfig.json
{
 // See https://go.microsoft.com/fwlink/?LinkId=759670
 // for the documentation about the jsconfig.json format
 "compilerOptions": {
 "target": "es6",
 "module": "commonjs",
 "allowSyntheticDefaultImports": true
 },
 "exclude": [
 "node_modules",
 "bower_components",
 "jspm_packages",
 "tmp",
 "temp"
 ]
}

第二步 全局安装 typings 以下载 express、mongoose、angular 等节点模块的 TypeScript 定义文件(typings)

npm install typings --global

TypeScript 定义文件以 TypeScript 编写,为函数及其参数提供 VS IntelliSense 体验。让我们为 express 安装打字,如下所示:

typings insall dt~express --global

来试试express的编码体验吧。您将看到用于 express 的出色智能感知。