Как заставить VS Code intellisense искать машинописный текст в нескольких папках node_modules

У меня есть проект node / typescript, структурированный так:

- node_modules // => these are loaded npm/package.json
- src
  - node_modules // => shared modules for my project, not on npm
    - lib.ts
  - app.ts
- package.json

У меня есть вторичная папка node_modules для моих личных пакетов в основном, чтобы я мог импортировать их из любого места в моем проекте и не беспокоиться об относительных путях (например, предложено здесь) по импорту.

Это прекрасно работает, потому что вместо import * as lib from '../../lib' или var lib = require('../../lib') я могу import * as lib from 'lib'.

Typescript компилирует / загружает lib без проблем, но VS Code intellisense жалуется, что «не может найти модуль lib».

FWIW, вот мой tsconfig.json

{
  "compilerOptions": {
    "experimentalDecorators": false,
    "emitDecoratorMetadata": false,
    "module": "commonjs",
    "target": "es2015",
    "rootDir": "src"
  }
}

person David Budiac    schedule 06.04.2016    source источник
comment
Я подозреваю, что это связано с тем, что мои общие / частные модули не имеют определений типизации ... но эти модули также написаны на машинописном тексте. Есть ли в модуле lib package.json какое-либо свойство, которое я мог бы использовать, чтобы сообщить vscode / typescript, что это модуль машинописного текста?   -  person David Budiac    schedule 06.04.2016


Ответы (1)


Мне нужно было изменить package.json моего lib, чтобы включить свойство "typings":

{
  "name": "lib",
  "version": "0.0.1",
  "main": "lib.js",
  "typings": "lib"
}
person David Budiac    schedule 06.04.2016