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

Я разрабатываю приложение на машинописном языке (в Visual Studio 2015) и имею эту базовую файловую структуру:

Solution
    AppProject
        Scripts
            framework
                Utils.ts
            app
                SomeApp.ts
        tsconfig.json

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

import { Utils } from '/Scripts/framework/Utils'

Однако это не работает.
Я получаю красную волнистую линию и сообщение "Не удается найти модуль '/Scripts/framework/Utils'"

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

Я использую машинописный текст 1.8 со стратегией разрешения модулей узла.
И веб-пакет для его компиляции и сборки, если это имеет значение.


person Jeppe Stougaard    schedule 04.08.2016    source источник
comment
Вы ознакомились с разделом документации Module Resolution?   -  person Nitzan Tomer    schedule 04.08.2016
comment
Да, документация, похоже, не описывает, как используются абсолютные пути. Только относительное и не относительное   -  person Jeppe Stougaard    schedule 04.08.2016
comment
Возможно, это поможет: Абсолютные пути и require()   -  person Nitzan Tomer    schedule 04.08.2016


Ответы (1)


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

В результате / всегда указывает на корень файловой системы. Независимо от compilerOptions, таких как rootDir, rootDirs или baseUrl.

person raphinesse    schedule 14.09.2017
comment
В этом PR добавлена ​​поддержка косой черты в начале -› github.com/Microsoft/TypeScript/issues/19318 - person Matthew Dean; 10.04.2019