2016-03-31 12 views
3

Ich versuche, meine Ionic 2-App mit JSDoc zu dokumentieren, aber ich habe Schwierigkeiten, sie mit der Syntax von Angular 2 zu verwenden.Angular 2/Ionic 2-Projekt mit JSDoc kommentieren

Zum Beispiel habe ich den folgenden Code an der Spitze meiner App:

import {App, Events, IonicApp, Platform} from 'ionic-framework/ionic'; 
import {UserData} from './providers/user-data'; 

@App({ 
    templateUrl: 'build/app.html', 
    providers: [UserData], 
    config: { 

    } 
}) 

Wenn diese Datei zu analysieren versucht, JSDoc gibt diesen Fehler wegen @App:

ERROR: Unable to parse /home/user/Projects/mobileApp/app/app.js: Line 4: Unexpected token ILLEGAL

auch schauen meine Konstrukteuren so (habe ich Ionic 2 Tutorial Vorlage):

class MyApp { 
    constructor(app: IonicApp, platform: Platform, events: Events, userData: UserData) { 

    } 
} 

Und das erzeugt den Fehler:

ERROR: Unable to parse /home/user/Projects/mobileApp/app/app.js: Line 27: Unexpected token :

Könnte jemand bitte sagen Sie mir, wie um diese Fehler zu bekommen?

Danke für jede Hilfe.

Antwort

5

Angular2 verwendet TypeScript, das auf ES6 erweitert wird, aber kein JavaScript ist, weshalb JSDoc es nicht versteht. Versuchen Sie mit typedoc unter: http://typedoc.org/

+0

Vielen Dank, ich werde es überprüfen. Ich benutze die Javascript Version von Ionic2 & Angular2 und nicht Typoskript, gilt das noch? –

+0

In Ihren gegebenen Beispielen verwenden Sie TypeScript (Typ Anmerkungen, Dekoratoren). Natürlich wird Ihre Anwendung während der Laufzeit (oder Bereitstellung) in Raw-JavaScript umgewandelt (kein Browser unterstützt direkt TypeScript). Es gibt einige weitere Erklärungen zu den Unterschieden zwischen TypeScript und JavaScript http://stackoverflow.com/questions/12694530/what-is-typescript-and-why-would-i-use-it-in-place-of-javascript –

+0

TypeDoc funktioniert wirklich gut, danke für den Tipp. Auch die Typoskript-Version von Ionic a zu bekommen, scheint populärer zu werden, so dass man es auch lernen kann. –

0

ES7 JS-Code sollte auf ES5 (über Babel) oder ES6 (über TypeScript, mit JS-Dateien umbenannt in .ts), bevor es an JSDoc zugeführt wird.

Dokumentations-Erstellungsprozess kann unabhängig vom App-Bündelungsprozess sein.