Подтвердить что ты не робот

Как я могу ссылаться на файлы typescript без абсолютных путей?

Так как typescript похоже, не поддерживает абсолютные ссылки на пути, я не вижу, как сохранить мои ссылки в порядке. У меня есть ts файлы во многих разных местах в моей структуре папок, и я должен быть очень осторожным, если я имею в виду ..\Scripts\typings\jquery\jquery.d.ts или ..\..\Scripts\typings\jquery\jquery.d.ts, кажется, действительно kludgy.

Существует ли какой-либо способ указать корневую папку ссылок, поэтому мне не нужно указывать все пути относительно текущего пути к файлу, который отличается для каждой папки?

4b9b3361

Ответ 1

В настоящее время нет способа указать папку root для использования в ссылках.

Абсолютные пути к файлу работают, но обслуживание путей, как правило, с несколькими разработчиками делает его вероятным не стартером для многих проектов разработки TypeScript.

В CodePlex были discussions, которые выражали аналогичный запрос (но без разрешения). Поскольку файлы TypeScript являются автономными, некоторые из них были обеспокоены представлением компилятору подобной схемы проекта.

Некоторые разработчики помещают наиболее часто используемые ссылки в один файл (называемый, например, _references.d.ts), и перечисляют ссылки на файлы определения там. Затем на этот файл будут ссылаться другие файлы TypeScript. Это упрощает, но не полностью устраняет проблему (так как вам все равно придется использовать относительные ссылки на файлы с N уровнями каталога, которые потенциально могут появиться):

/// <references path="../../../_references.d.ts." />

В зависимости от того, сколько файлов у вас есть и размер определений, вы можете обнаружить, что по мере того, как файлы индивидуально компилируются, процесс компиляции занимает больше времени (поскольку он извлекает потенциально неиспользуемые определения из файла _references.d.ts). (Если у вас есть, например, "compile on save", активированный в среде IDE).

Ответ 2

Чтобы поддерживать относительные ссылки на относительные пути, укажите псевдоним пути ваш tsconfig.json

Прежде всего установите tspath инструмент npm для разрешения путей ts ПРИМЕЧАНИЕ. Для tspath требуется очень недавняя версия node!

npm install -g tspath

Затем добавьте псевдонимы путей в tsconfig.json

"baseUrl": "./",
  "paths": {
    "@Scripts/*": ["./Scripts/typings/jquery/*"],
    "@Plugins/*": ["./MyPlugins/V2/*"]
  }

Теперь используйте свой псевдоним, ссылаясь на ваши скрипты

@Scripts/jquery
@Plugins/myPlugin

После запуска компилятора TypeScript из каталога проекта запустите:

tspath

или

tspath -f

чтобы пропустить приглашение!

Подробнее: https://www.npmjs.com/package/tspath

Надеюсь, это то, о чем вы просили!