Domanda

So che ci sono già alcune domande simili su questo argomento, ma in qualche modo nessuno di loro ha aiutato. Voglio usare Angular.js in un progetto che utilizza RequireJ e dattiloscritto.

Ho un modulo, dove uso angolare per creare un modulo di servizio:

/// <reference path="../../../typings/angularjs/angular.d.ts" />
...
var services = angular.module('services', []);
...
export = services;
.

Questo codice compili l'errore con l'errore, ma nel file JS creato, c'è Angular.js dipendenza non è presente:

define(["require", "exports"], function(require, exports) {
...
}
.

E quando eseguo l'applicazione, il browser lamenta: InductErCearror Incord: Angular non è definito

La mia ipotesi è, che in qualche modo dovrei importare l'angolare oltre a referenziarlo, ma nessuno dei sentieri ho provato funziona.

Ecco la mia configurazione del mio bisogno.js, nel caso in cui sia necessario:

require.config({

    paths: {
        angular: '../lib/angular/angular',
        ...
    },
    shim: {
        angular : {exports : 'angular'},
        ...
    }
)}
.

puoi aiutarmi, cosa manca qui? Grazie.

È stato utile?

Soluzione

Hai provato ad aggiungere quanto segue alla parte superiore del tuo file

 /// <amd-dependency path="angular"/>
.

Questo dovrebbe rendere il compilatore TS aggiungere angolare all'elenco Definisci.

Altri suggerimenti

Quando si utilizza un commento di riferimento:

/// <reference path="../../../typings/angularjs/angular.d.ts" />
.

Stai dicendo al compilatore "Assicuro che questa dipendenza sia disponibile in runtime".

Se si desidera caricare il modulo, è necessario utilizzare un'importazione invece ...

import angular = require('angular');
.

Il modo di impostazione zero per fare ciò è quello di posizionare il file angular.d.ts accanto al file angular.js attuale, quindi il percorso specificato nell'istruzione di importazione è lo stesso in entrambi i modi - in caso contrario, utilizzare la tua configurazione richiesta a Shimmy il tuopercorso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top