網站搜尋

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 支援人員