Sagen, ich habe ein ModulTyposkript: Wie mit ursprünglichen Namen importieren
module A
{
export function X()
{
…
}
}
, die ich so in einem anderen Modul verwenden möchten:
// 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();
}
}
Dies sollte der einfachste Fall der Ausfuhr und importieren, aber ich kann es einfach nicht zur Arbeit bringen.
UPDATE:
Wie gesagt: Der Modulname Wert trägt. Sie haben ähnliche benannte Funktionen in mehreren Modulen (oder Namespaces). i.E.
module C
{
export function X()
{
…
}
}
Und ich möchte auf keinen Fall die Funktionen Namen tun A.A_X
und C.C_X
- Redundante Namensgebung macht mich erschaudern.
Der Modulname ist der Name der Datei. In Ihrem Beispiel, das einen Platzhalterimport verwendet, muss derselbe Funktionsname in mehreren Dateien nicht zu einem Konflikt führen. Selbst wenn Sie den gleichen Dateinamen mit den gleichen Funktionen an zwei verschiedenen Orten hätten, könnten Sie beide mit Wildcard mit verschiedenen Namen importieren, zB '' 'importieren * als A von" ./A "; Import * als OtherA von "../A"; '' 'Oder Sie können die Funktionen selbst mit' as 'wie 'import {func as func1} von" ./A "importieren; import {func as func2} aus "./B" ' – Aaron