Ссылочный файл из других источников и пути к веб-интерфейсу

#typescript #frontend #es6-modules

#typescript #интерфейс #es6-модули

Вопрос:

Я пытаюсь перейти на модули es6 для интерфейса. На работе я работаю на веб-сайте, основанном на PHP и Symfony для обратной стороны, со следующей упрощенной структурой:

 src
    ClientSpecificBundle
        Resources
            private
                typescript
                    tsconfig.json
                    main.ts
            public
                js
                    main.js
    CompanyGenericBundle
        Resources
            private
                typescript
                    tsconfig.json
                    foo.ts
            public
                js
                    foo.js
web
    bundles
        client-specific
        company-generic
  

Все, что находится в web , открыто и непосредственно в HTTP.
web/bundles/client-specific является символической ссылкой на src/ClientSpecificBundle/Resources/public .
web/bundles/company-generic является символической ссылкой на src/CompanyGenericBundle/Resources/public .

То, что я пытаюсь заставить работать сначала, просто чтобы я мог продолжить со всем остальным

foo.ts

 function foo(): void
{
    console.log("Hello, World!");
}

export { foo };
  

main.ts

 import { foo } from "/bundles/company-generic/js/foo.js";

foo();
  

Я предполагаю, что это связано со свойствами файла tsconfig.json baseUrl, path, reference и / или composite.

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

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

 src/ClientSpecificBundle/Resources/public/js/ -> /bundles/client-specific/js/
src/CompanyGenericBundle/Resources/public/js/ -> /bundles/company-generic/js/
  

Кроме того, как я могу сообщить TypeScript в ClientSpecificBundle, что модуль /bundles/company-generic/js/foo.js существует и определен в src/CompanyGenericBundle/Resources/public/typescript/foo.ts , чтобы мой файл работал?