Скажем, у меня есть модульмашинопись: Как импортировать с оригинальными названиями
module A
{
export function X()
{
…
}
}
, который я хочу использовать в другом модуле, как это:
// Import fails with "Cannot find module 'A'." even with
// A.ts being in same directory
import * as A from "A";
module B
{
function Y()
{
// Module and function name carry information
// which I want to keep for readability.
A.X();
}
}
Это должно быть простой случай экспорта и но я просто не могу заставить его работать.
UPDATE:
Как я уже говорил: Имя модуля несет значение. Имеются аналогичные именованные функции в нескольких модулях (или пространствах имен). то есть
module C
{
export function X()
{
…
}
}
И я, конечно, не хочу, чтобы сделать имя функции A.A_X
и C.C_X
- Резервные именование заставляет меня съежиться.
Имя модуля - это имя файла. Ваш пример с использованием подстановочного импорта - это то, почему одно и то же имя функции в нескольких файлах не должно приводить к конфликту. Даже если у вас есть одно и то же имя файла с одинаковыми функциями в двух разных местах, вы можете импортировать оба с помощью подстановочных знаков с разными именами, ex '' 'import * как A from" ./A "; импорт * как OtherA из "../A"; '' 'Или вы можете импортировать сами функции с' as' like 'import {func как func1} из" ./A "; import {func как func2} из "./B" ' – Aaron