У меня следующая иерархия:
dist/
|- BuildTasks/
|- CustomTask/
- CustomTask.js
node_modules/
source/
|- BuildTasks/
|- CustomTask/
- CustomTask.ts
- tsconfig.json
Кроме того, я пытаюсь создать расширение задачи VSTS для внутреннего (частного) использования.Первоначально у меня был мой tsconfig.json в моей корневой директории, и все работало просто отлично на моей локальной машине.Проблема заключается в том, что расширение VSTS требует, чтобы все файлы были включены в тот же каталог, что и сама папка задачи.См. https://github.com/Microsoft/vsts-task-lib/issues/274 для получения дополнительной информации:
, вам необходимо опубликовать автономную папку задач.агент не запускает npm install для восстановления ваших зависимостей.
Первоначально я решил эту проблему, включив шаг для копирования всего каталога node_modules в каждую папку Task, в этом случае мойПапка CustomTask , которая содержит мой файл JS.Но это кажется немного большим, учитывая, что не каждая задача, которую я пишу, имеет одинаковые требования к модулю.
Моя идея состояла в том, чтобы создать tsconfig.json в каждой из папок Задачи, который бы указывал на создание одного вывода.файл, содержащий все зависимые модули, но, к сожалению, он не работает:
{
"compilerOptions": {
"baseUrl": ".",
"target": "ES6",
"module": "system",
"strict": true,
"rootDir": ".",
"outFile": "../../../dist/BuildTasks/CustomTask/CustomTask.js",
"paths": {
"*" : ["../../../node_modules/*"]
}
}
}
До добавления «путей» я получал следующие ошибки:
ошибка TS2307: Не удается найти модуль vsts-task-lib / task.Ошибка TS2307: не удается найти модуль «момент».
После добавления путей я все еще получаю сообщение об ошибке, что он не может найти модуль «момент», который находится в моей директории node_modules.Кроме того, когда я смотрю на выходной JS, кажется, что он не содержит необходимого кода 'vsts-tasks-lib', возможно, потому, что в нем все еще была ошибка в отношении модуля 'moment'?Не уверен, что я пропустил?