Sto imparando dattiloscritto e Dojo in parallelo e questo ha esposto la mia comprensione limitata di AMD. Non capisco come legare insieme una dichiarazione di importazione alla 3a parte del modulo dgrid / Grid AMD, la mia dichiarazione dgrid.d.ts stub e la mia classe dei consumatori. Dopo 2 giorni di fatica sprecata Cerco qualsiasi mezzo (hacky o AMD best practice) per eseguire le seguenti operazioni:
MyModule.ts
{
...
var myGrid = new dgrid.Grid( { /*col structure*/}, divId);
...
}
Ecco il mio file di dichiarazione di stub per dgrid.
dgrid.d.ts (a cura per la sincronizzazione con Update 1 sotto)
module dgrid/Grid
{
export class Grid
{
constructor ( gridStructure: any, elementId: string);
}
}
Ho provato i seguenti riferimenti nella mia classe consumo dattiloscritto ma Visual Studio sottolinea la dgrid / Grid letterale in rosso, perché credo che il compilatore TS non è a conoscenza del classico Dojo dojoConfig, baseurl e le dichiarazioni package dgrid nel file default.htm.
///<reference path='dgrid.d.ts' />
import Grid = module(dgrid/Grid);
module MyModule
{
...
}
Update 1 Dal distacco ho letto il Capitolo 10 del manuale ufficiale dattiloscritto. In precedenza non ero riuscito a riconoscere l'importanza di moduli dichiarati come modulo MyType {} o modulo esterni / di terze parti {}. Una dichiarazione ambiente per un modulo esterno dovrebbe essere un letterale.
Sfondo:
- Sto usando Dojo 1.8.0 fa riferimento da ajax.googleapis.com
- Il dgrid JavaScript è ospitato localmente in / js / dgrid
- Sto cercando di seguire da vicino la pagina di dgrid esercitazione SitePen mostrando classico AMD richiedono () il caricamento di dgrid http://dojofoundation.org/packages/dgrid/tutorials/hello_dgrid http://dojofoundation.org/packages/dgrid/tutorials/hello_dgrid /demo/simple.html
Richiede dichiarazione:
require([dgrid/Grid, dojo/domReady!],
function(Grid){













