У меня небольшая проблема с импортом модулей nodejs. Для модуля HTTP этот синтаксис работает хорошо:«Не удается найти модуль» при импорте в TypeScript
import * as http from "http";
Но когда я пытаюсь сделать то же самое с «mysql2» node.js модуль:
import * as database from "mysql2";
Я дал мне ошибку:
Cannot find module 'mysql2'
И отказываются компилировать эту строку. Я даже попытался синтаксис вроде этого (не знаю почему):
import {database} from 'mysql2';
Но нет никакой ошибки только тогда, когда я пишу так:
let database = require('mysql2');
В tsconfig.json я установил:
"module": "commonjs",
"moduleResolution": "node",
И, конечно, я уже установлены модули через НПМ в папке проекта:
npm install mysql2 --save
Так что мой вопрос: почему импорт не работает, и у меня есть ошибка в коде Visual Studio?
Это объясняет все, спасибо! Раньше у меня была такая же проблема с «mysql», но я установил DefinetlyTyped для нее, и ошибка исчезла. Итак, я отредактировал * d.ts для 'mysql' в 'mysql2' (так как он имеет обратный API), и теперь он отлично работает! –