2014-11-27 13 views
5

Ho convertito il grande progetto JS in dattiloscritto (come programmatore I C#) usando in PhantomJs. Il problema è che l'interprete (phantomjs) non riesce durante l'esecuzione di questo file js.non riesco ad avviare il file compilato da dattiloscritto

D:\My\phantomjs-1.9.7-windows\phantomjs.exe --load-images=false --ssl-protocol=any --web-security=no --cookies-file=cookies C:\Users\alex\Projects\robot\bo.js 
TypeError: 'undefined' is not an object (evaluating 'b.prototype') 

il codice è:

var __extends = this.__extends || function (d, b) { 
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p] 
    function __() { this.constructor = d; } 
    __.prototype = b.prototype; // <<< here 
    d.prototype = new __(); 
}; 

So. Penso che il problema sia in qualche modo legato all'eredità. Qualcuno ha riscontrato questo problema? Qualsiasi aiuto è apprezzato. Grazie.

+0

fa http: // www. typescriptlang.org/Playground compila il tuo codice? o forse una pace di codice? È anche possibile generare mappe di origine per dattiloscritto e ispezionare parti buggy di dattiloscritto in devtools in chrome –

risposta

12

La causa più comune di questo errore è che si sta caricando i file nell'ordine sbagliato ... per esempio ...

file Un

class ExampleClass { 
    someMethod() { 
     alert('Hello World'); 
    } 
} 

File B

class ExampleSubClass extends ExampleClass { 

} 

Se si dovesse caricare File B prima dello File A, si otterrebbe l'errore esatto che si sta descrivendo. (Questo include dimenticare di caricare File A o di caricare File A dopo File B).

Correzioni

Se si combinano tutti i file in un unico file (e probabilmente si sta utilizzando un file _references.ts) assicurarsi che i riferimenti sono nel giusto ordine.

/// <reference path="file-a.ts" /> 
/// <reference path="file-b.ts" /> 

Se si utilizza tag di script, è la correzione simile (fare in modo che si sta utilizzando .js estensioni e controllando l'ordine di carico) ...

<script src="file-a.js"></script> 
<script src="file-b.js"></script> 
+0

Grazie mille! Aiuta) – user2598575

Problemi correlati