Czy istnieje sposób, aby importować lub opisywanie maszynopis moduły takie, że zewnętrzne moduły AMD zostaną automatycznie dołączone jako zależności podczas generowania moduł AMD kompatybilne ?:Automatycznie dołączasz depozyty AMD do modułu AMD Typescript?
tsc --module AMD example.ts
Próbowałem to zarówno w tym odniesienie * .d.ts pliku i eksportujących Declare:
///<reference path='./lib/knockout-2.2.d.ts' />
export declare var $;
export declare var _;
export module example {
export class Example {
// whatever
}
}
jednak wygenerowany moduł nie obejmują one:
define(["require", "exports"], function(require, exports) {
(function (example) {
var Example = (function() {
function Example() { }
return Example;
})();
example.Example = Example;
})(exports.example || (exports.example = {}));
var example = exports.example;
})
Naprawdę chciałbym uniknąć tworzenia "fałszywych" modułów tutaj.
Wydaje się miły i wykorzystania rozwiązania byłoby umożliwienie importowania modułów AMD bezpośrednio:
var $ = import('jquery'); // This is a requirejs/AMD module, not a typescript file.
ale nie wiem jak to możliwe, że jest.
Edit:
A ja też próbowałem wymienić takie podejście tutaj: Import TypeScript module using only ambient definition for use in amd
import knockout = module("./lib/knockout-2.2.d.ts");
...
jednak uzyskać te błędy kompilatora:
example.ts(1,32): The name '"./lib/knockout-2.2.d.ts"' does not exist in the current scope
example.ts(1,32): A module cannot be aliased to a non-module type
Znalazłeś dobre rozwiązanie dla tego? –
Nie - w moim przypadku zacząłem zdawać sobie sprawę, że łatwiej było połączyć moją aplikację Typescript do pojedynczego pliku ('tsc --out'), zamiast martwić się o AMD, ponieważ nie było w nim leniwego ładowania. – 7zark7
Właśnie znalazłem /// <ścieżka zależności amd = "ścieżka/do/nokaut/js" /> - ale mogę najpierw przetestować ją, kiedy wrócę do domu. –