Я получаю ошибку (волнистую красную линию) в VSCode со следующим .ts
файлом:
src \ lib \ hi.ts
import * as _ from 'lodash';
function testLodash(): void {
function square(n: number) {
return n * n;
}
return _.map([4, 8], square);
}
Ошибка
Property 'map' does not exist on type 'typeof import("lodash")'.ts(2339)
Я получаю ту же ошибку для любой из обычных функций lodash.Intellisense дает мне класс Lodash
только при вызове через _.
.Я предполагаю, что VSCode не может найти определения моего типа, но я не понимаю, почему.
Если я изменю импорт на:
import 'lodash';
, я получу ожидаемые функции и ошибкууходит, но я получаю новую ошибку:
'_' refers to a UMD global, but the current file is a module. Consider adding an import instead.ts(2686)
Применение предложенного QuickFix добавляет следующее к импорту:
import _ from 'lodash';
Но тогда я получаю исходную ошибку обратно.
Так что мне нужно изменить, чтобы сделать эту работу?
Вот подробности:
package.json
{
...
"dependencies": {
...
"lodash": "^4.17.11",
...
},
"devDependencies": {
...
"@types/lodash": "^4.14.130",
...
"typescript": "^3.4.5"
}
}
tsconfig.json
{
"compilerOptions": {
"target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"allowJs": true, /* Allow javascript files to be compiled. */
"outDir": "./dist/", /* Redirect output structure to the directory. */
"strict": true, /* Enable all strict type-checking options. */
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
}
}
Настройки VSCode
Нет нестандартных настроек TS
Версия TS
Версия 3.4.5
Версия VSCode
Version: 1.34.0 (user setup)
Commit: a622c65b2c713c890fcf4fbf07cf34049d5fe758
Date: 2019-05-15T21:59:37.030Z
Electron: 3.1.8
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17134
Установленные расширения
alanz.vscode-hie-server
alefragnani.Bookmarks
andyyaldoo.vscode-json
christian-kohler.path-intellisense
daiyy.quick-html-previewer
eamodio.gitlens
Edka.haskutil
esbenp.prettier-vscode
fabiospampinato.vscode-todo-plus
flowtype.flow-for-vscode
gcazaciuc.vscode-flow-ide
hoovercj.haskell-linter
jcanero.hoogle-vscode
justusadam.language-haskell
karigari.chat
mrmlnc.vscode-duplicate
ms-vscode.vscode-typescript-tslint-plugin
ms-vsliveshare.vsliveshare
ms-vsliveshare.vsliveshare-audio
ms-vsliveshare.vsliveshare-pack
phoityne.phoityne-vscode
SirTobi.code-clip-ring
WakaTime.vscode-wakatime