В коде Visual Studio, когда есть два .js
файла модуля A.js
and B.js
, импорт модуля A внутри модуля B позволяет нам использовать автозаполнение в импортированном модуле. При импорте модуля A в C.ts
это автозаполнение недоступно, и, конечно же, появляется сообщение Could not find a declaration file for module <PATH_TO_A_MODULE>
. Я видел ответы, которые предлагают создать файлы объявлений для модуля A, но я хочу избежать этого, потому что VS Code уже «знает» объявления, так как он работает при импорте модуля JS в другой модуль JS. Среда nodejs.
Пример:
// A.js
export const some_variable = 1
// B.js
import * as A from 'A.js'
A.some_variable --> autosugestion and complete works
// C.ts
import * as A from 'A.js' --> this shows warning and autocomplete not available on A.
A.some_variable --> does not throw error but autocomplete is not working
Есть ли способ разрешить импорт модулей JS в файлы TS без файлов объявлений, чтобы работали автозаполнение и ввод?
РЕДАКТИРОВАТЬ: (tsconfig. json)
{
"compilerOptions": {
"baseUrl": ".",
"esModuleInterop": true,
"lib": ["es2015"],
"module": "commonjs",
"noImplicitAny": false,
"outDir": ".build",
"paths": {
"*": ["node_modules/*"]
},
"preserveConstEnums": true,
"resolveJsonModule": true,
"rootDir": "",
"sourceMap": true,
"strictNullChecks": true,
"target": "es6",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitUseStrict": true,
"checkJs": true,
"allowSyntheticDefaultImports": true,
"declaration": true,
"allowJs": true
}
}