Похоже, вы используете TypeScript.Если вы хотите использовать библиотеки JS из TypeScript (используя строгие проверки, такие как noImplicitAny
), вы должны иметь объявления типов для модулей, которые вы хотите использовать.Проект DefinuallyTyped в GitHub предоставляет файлы объявлений типов для пакетов NPM, которые не являются самостоятельными, и публикуются в организации @ types в NPM.Если пакет не поставляется с определениями типов, вы можете посмотреть его здесь , чтобы узнать, есть ли пакет с ними.
Пакет, который вам нужен, однако, похоже, небыть покрытымЧто вы можете сделать, так это написать свои собственные определения типов, чтобы вы могли использовать эту библиотеку в TypeScript.Минимальное объявление типа, которое будет охватывать только нужный вам метод, будет выглядеть следующим образом:
declare module 'node-win-shortcut' {
function createShortcut(path: String, name: String, appId: String): void
}
Если вы поместите это объявление типа в файл (то есть node-win-shorcut.d.ts
) и импортируете его там, где вам нужно, вам следуетбудьте готовы.
Если по какой-либо причине это не работает, вы можете использовать объявления типов DefiniteTyped в качестве справочного материала для моделирования своих собственных, например, этот очень простой для is-number
пакет.
В качестве отдельного примечания причина, по которой вы не видите сам метод в коде JavaScript, заключается в том, что привязки на самом деле построены наустановка из собственного кода вы можете увидеть здесь (как вы можете себе представить, для создания ярлыка в Windows требуются привязки собственного кода, которые должны выполняться в системе Windows - npm i node-win-shorcut
не удастся включитьLinux или MacOS).Вы можете заглянуть в каталог node_modules/node-win-shortcut
, чтобы увидеть встроенный артефакт в файле, указанном в файле index.js
.