Я часами бился головой о стену над этим, это должно быть просто. У меня есть проект, в котором node_modules установлены во вложенной папке. Это проект Node с tsconfig. json в проекте root. Это не машинописный проект, но я не могу использовать typeRoots
в jsconfig.json
, поэтому я вынужден использовать tsconfig. json. Я пытаюсь заставить vscode предоставить подсказку типа для пакета mssql
, но что бы ни случилось, он отображается в vscode как тип any
. Я могу правильно получить подсказку типа для mocha (описать, it), node (assert) и функций, объявленных в проекте. Я получаю подсказку типа для проекта p-memoize
, когда мне это нужно (он использует файл d.ts, расположенный в проекте, а не в @types). Разница здесь в том, что с mssql
я использую require (), и это не удается.
Вот мой tsconfig. json:
{
"compilerOptions": {
"baseUrl" : ".",
"allowJs": true,
"module": "commonjs",
"moduleResolution": "node",
"noEmit": true,
"typeRoots": ["containers/shared/node_modules/@types/"],
"paths" : {
"*": ["containers/shared/node_modules/*"],
"@simpleview/*" : ["../../containers/*"]
}
}
}
Тогда у меня есть code файл со следующим:
const mssql = require("mssql");
ms sql разрешается как тип any
.
В моем пакете. json У меня есть последняя версия обоих mssql
и @types/mssql
:
"@types/mssql": "4.0.7",
"mssql": "6.2.1",
Я делаю здесь что-то не так или в проекте @ types / ms sql есть ошибки, но если да, то что именно не так, чтобы я мог отправить PR в исправить?