2016-03-31 159 views
3

我想使用JSDoc開始記錄我的Ionic 2應用程序,但我很難與Angular 2的語法一起使用它。評論Angular 2/Ionic 2項目與JSDoc

例如,我有我的應用程序的頂部下面的代碼:

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

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

    } 
}) 

當試圖分析此文件,JSDoc給出了這樣的錯誤,因爲@App的:

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

此外,我的構造函數看起來像這樣(我使用了Ionic 2的教程模板):

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

    } 
} 

這產生錯誤:

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

可能有人請告訴我怎麼去解決這些錯誤?

感謝您的任何幫助。

回答

5

Angular2使用在ES6上增強的TypeScript,但實際上並不是JavaScript,所以爲什麼JSDoc不理解它。嘗試在以下位置使用typedoc:http://typedoc.org/

+0

謝謝,我會檢查出來。我正在使用Javascript版本的Ionic2&Angular2而不是打字稿,它仍然適用? –

+0

在給出的示例中,您使用的是TypeScript(類型註釋,裝飾器)。當然,你的應用程序在運行時(或部署)被轉換成原始的JavaScript(沒有瀏覽器直接支持TypeScript)。 還有一些關於TypeScript和JavaScript差異的解釋http://stackoverflow.com/questions/12694530/what-is-typescript-and-why-would-i-use-it-in-place-of-javascript –

+0

TypeDoc的工作非常好,謝謝你的提示。給Ionic的打字稿版本也一樣,似乎越來越受歡迎,所以不妨學習它。 –

0

將ES7 JS代碼發送到JSDoc之前,應將其轉換爲ES5(通過Babel)或ES6(通過TypeScript,其中.js文件重命名爲.ts)。

文檔構建過程可能獨立於應用程序捆綁過程。