2016-05-11 5 views
2

Ich habe eine Klasse erstellt, die einige jQuery Daten an die Benutzeroberfläche ergänzt:Export und suche ist nicht definiert

/// <reference path="../typings/jquery/jquery.d.ts" /> 
/// <reference path="../typings/custom.d.ts" /> 
export class Semaphore { 
info: any[]; 

constructor(info: any[]) { 
    this.info = info; 
} 

AddJqueryData() { 
    var self = this; 

    for (let bigKey in this.info) { 
     let object = this.info[bigKey]; 
     for (let smallKey in object) { 
      $(`#etape_3CosmeticAppraisal table td.${smallKey}.row_M${bigKey}`).tooltip({ 
       content() { 
        return object[smallKey].txt + '<img src="' + object[smallKey].img + '" class="cimage">'; 
       }, 
       show: { delay: 600 } 
      }); 
     } 
    }   
} 

}

Nun, ich würde wollen diese Klasse aus einer anderen Datei importieren und geben ihm eine bestimmte Array mit arbeiten:

import { Semaphore } from "./SemaphoreLogic"; 

let cosmeticData = []; 

$(document).ready(() => { 
    let x = new Semaphore(cosmeticData); 
    x.AddJqueryData(); 
}); 

meiner Ansicht Seite, gebe ich eine referece auf die js-Datei, die die Import-Anweisung hat. (Ich habe auch versucht, die js-Datei hinzuzufügen, die die grundlegende Funktionalität hat, aber immer noch kein Glück).

Der Fehler, den ich bekomme, ist: Require ist nicht definiert oder Exporte sind nicht definiert, und ich bin nicht sicher, warum das ist. Ich habe viel im Internet gesucht und ich habe nichts gefunden, was mir helfen könnte.

Vielen Dank im Voraus

P. S .: Wenn Sie ein besserer Ansatz als meine geben denken kann, meine Augen fühlen sich frei zu öffnen: D. (Ich bin preety neu Typoskript)

Antwort

2

Klingt Transpiler ist Ihre import/export Aussagen in Commonjs Stil require/export Aussagen drehen. Das wird natürlich nicht im Browser funktionieren (es sei denn, Sie verwenden etwas wie Browserify, das klingt, als wären Sie es nicht). Sie müssen ein Tool wie Browserify oder Webpack verwenden, um dies zum Laufen zu bringen.