Ich lerne Typoskript und Dojo parallel und dies hat mein begrenztes Verständnis von AMD ausgesetzt. Ich verstehe nicht, wie man die 3rd-Party „D-Grid / Grid“ AMD-Modul, meine dgrid.d.ts Stummel Erklärung und meine verzehr Klasse zusammen, um eine Import-Anweisung zu binden. Nach 2 Tagen vergebliche Mühe Ich suche nach irgendwelchen Mitteln (Hacky oder amd Best Practice) folgendes auszuführen:
MyModule.ts
{
...
var myGrid = new dgrid.Grid( { /*col structure*/}, divId);
...
}
Hier ist meine Stummel Deklarationsdatei für D-Grid.
dgrid.d.ts (edited mit Update 1 unten an sync)
module dgrid/Grid
{
export class Grid
{
constructor ( gridStructure: any, elementId: string);
}
}
Ich habe versucht, die folgenden Referenzen in meiner raubend Typoskript Klasse, aber Visual Studio unterstreicht den „D-Grid / Grid“ wörtlich in rot, weil ich die TS-Compiler erraten ist keine Kenntnis von der klassischen Dojo dojoConfig, baseUrl und D-Grid-Paket Erklärungen in der Datei default.htm.
///<reference path='dgrid.d.ts' />
import Grid = module(dgrid/Grid);
module MyModule
{
...
}
Update 1 Seit der Veröffentlichung I durch Kapitel lesen 10 in der offiziellen Typoskript Handbuch. Zuvor hatte ich nicht die Bedeutung von Modulen als Modul MyType {} oder Modul „extern / Dritter“ {} erklärt zu erkennen. Ein Umgebungs Erklärung für ein externes Modul sollte ein Literal.
Hintergrund:
- Ich verwende Dojo 1.8.0 von ajax.googleapis.com verwiesen
- Der D-Grid JavaScript gehostet wird lokal in / js / D-Grid
- Ich versuche , die SitePen D - Grid Tutorial Seite zeigt klassische AMD require () Laden von D - Grid genau zu verfolgen http://dojofoundation.org/packages/dgrid/tutorials/hello_dgrid http://dojofoundation.org/packages/dgrid/tutorials/hello_dgrid /demo/simple.html
Erfordern Aussage:
require([dgrid/Grid, dojo/domReady!],
function(Grid){













