Как добавить файлы определения TypeScript в систему контроля версий?

У меня есть простое основное веб-приложение asp.net, где я установил библиотеки javascript, используя libman.

Я хочу использовать машинопись, поэтому я установил файлы определений машин для библиотек, использующих npm, например:

npm install @types/jquery --save-dev
npm install @types/bootstrap --save-dev

Я хотел бы добавить файлы.d.ts в систему управления версиями, чтобы другим разработчикам не приходилось полагаться на NPM - это цель libman, не так ли?

Папка /node_modules по умолчанию игнорируется в.gitignore.

Как включить файлы определения машинописи?

1 ответ

Решение

Так как вы установили библиотеки JavaScript, используя LibManВы могли бы просто повторно использовать LibMan чтобы установить определения тоже:

libman install @types/jquery -p unpkg
libman install @types/bootstrap -p unpkg

Путь по умолчанию будет libs/@types:

lib/
    @types/
        bootstrap/
            index.d.ts
            ...
        jquery/
            index.d.ts
            ...

Я создаю tsconfig.json и настройте отображение пути для загрузки модулей, как показано ниже:

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "jquery": ["lib/@types/jquery"] ,
            "bootstrap":["lib/@types/bootstrap"]
        }
      }
}

Теперь мы можем извлечь пользу из машинописи:

введите описание изображения здесь

[Обновить]

Для проекта ASPNET-CORE путь по умолчанию будет:wwwroot/lib/@typesесли у нас есть tsconfig.json в каталоге проекта (рядом с *.csproj файл проекта), нам нужно изменить путь к:

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "jquery": ["wwwroot/lib/@types/jquery"] ,
            "bootstrap":["wwwroot/lib/@types/bootstrap"]
        }
      }
}

введите описание изображения здесь

Для тех, кто предпочитает просто напечатать это в себе: JSON, сгенерированный libman install @types/jquery -p unpkg

{
    "provider": "unpkg",
    "library": "@types/jquery@3.3.29",
    "destination": "wwwroot/js/lib/@types/jquery"
}

(Примечание: у меня был существующий libman.json файл, и это было добавлено к "libraries" массив)

Другие вопросы по тегам