2017-06-06 64 views
1

我正在使用angular 4編寫電子應用程序。我需要一個數據庫並希望使用websql,但我無法找到導入websql類型的方法。angular 2 websql typings

我加了@ types/websql。在我的IDE,沒有compil錯誤,當我做:

const db: Database = window.openDatabase('foo', '1.0', 'foo', 2 * 1024 * 1024); 

ng serve給我:

Property 'openDatabase' does not exist on type 'Window' 

我沒有任何具體到@types/websql進口。由於它不是一個模塊,我不知道如何導入它。

有沒有人有任何想法我可以如何導入?

+0

看來,當我嘗試與TSC編譯,它的作品。所以我想這裏的問題是與ng-cli ... – ctruchi

回答

0

好吧,我找到了解決方案。

ng-cli生成tsconfig.app.json,其屬性types設置爲[]。 如果我正確理解tsc文檔,它會阻止編譯器使用typeRoots屬性。

通過簡單地刪除此屬性,我的代碼編譯。

0

正如https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

所有可見的「@types」包包含在編輯中...

如果指定typeRoots,只有在typeRoots軟件包將被包括在內。

如果指定了類型,則只包含類型下的包。

如果我把類型ts.config.app這樣的配置:

"types": [ 
    "websql" 
] 

只會包括node_modules可能已經安裝了/ @ /的WebSQL無視他人的類型。

+0

你應該考慮提供解​​釋與你的答案。欲瞭解更多信息,請閱讀:[我如何寫出一個好的答案?](https://stackoverflow.com/help/how-to-answer) –

+0

謝謝@米凱爾B。我編輯了答案。 – joaoacj