node.js - Cloudboost 的 TypeScript 類型定義(以及如何在 ionic2 中使用它)
我想了解有關 cloudboost.io 的任何可用型別定義 https://github.com/CloudBoost/JavaScriptSDK。我對為現有的 js 模組編寫型別定義沒有經驗。我曾嘗試準備一些最簡單的 d.ts,但沒有成功。也就是說,使用 ionic2 和 npm install cloudboost(目前還需要另外 npm install fs)時,我試著使用 cloudboost.d.ts,例如。
declare module "cloudboost" {}
或
declare var CB: any;
declare module "cloudboost" {
export var CB: any;
}
結果很奇怪,因為 cloudboost 被包含在 ionic2 构建中(使用它的 webpack 配置),然而當使用例如
import * as CB from "cloudboost";
或者類似的 import 變體即使內部的 webpack 調用似乎是指向正確的 cloudboost 代碼,也會返回某個 socket.io 對象的 CB 值。所以即使是一個 any 的簡單對象,對我一開始來說也足夠了。
答案#1
我們還沒有為 CloudBoost JavaScript SDK 提供 TypeScript 型別定義,但你應該可以自己創建一個。
這是我在 Stack Overflow 上查找這個問題後發現的。
這是一個用 TypeScript 編寫的 Node 模組示例: https://github.com/basarat/ts-npm-module
這裡有一個使用這個示例模組的 TypeScript 範例專案 https://github.com/basarat/ts-npm-module-consume
基本上你需要:
使用 commonjs 編譯並設置 declaration:true
生成一個 .d.ts 檔案
然後
讓你的 IDE 閱讀生成的 .d.ts。
讓我知道這是否有幫助。
-Nawaz CloudBoost.io 支援人員