2016-03-06 55 views
0

我創建了一個npm包(https://github.com/d6u/observe-object-path)。它是用Typescript寫的。它有一個編譯步驟將其編譯爲ES5,這樣任何JavaScript環境都可以使用它(https://github.com/d6u/observe-object-path/blob/master/package.json#L39-L41)。如何在Typescript中爲NPM聲明模塊公共類型定義

  1. 由於該模塊已經寫在Typescript中。是否有可能爲我的包自動生成一個.d.ts文件,因此使用Typescript的用戶可以在最少配置或無需配置的情況下使用它?

  2. 如果自動生成是不可能的,什麼是放置.d.ts文件的最佳場所,ts目錄下(這顯然是什麼的Rx 4是做https://github.com/Reactive-Extensions/RxJS/tree/master/ts)?

回答

0

要生成.d.ts爲你的項目,你必須啓用編譯器配置的聲明選項文件。

爲例tsconfig.json

{ 
    "compilerOptions": { 
     "module": "system", 
     "target": "es5", 
     "noImplicitAny": false, 
     "sourceMap": false, 
     "experimentalDecorators": true, 
     "declaration": true 
    }, 
    "exclude": [ 
     "node_modules" 
    ] 
} 
+0

謝謝。我明白了這一點。如果您更新答案以遵循這些步驟,我可以接受它:1.重要的是tsconfig.json的'tsc'或'declaration'屬性的'-d'選項。 2.然後你必須添加'「typings」:「lib/index.d.ts」'來指向你的package.json中的索引文件的任何類型定義(lib/index.d.ts這裏只是一個例子)。 3.我還沒有弄清楚如何製作環境(或嵌套的依賴關係)。 – Daiwei

+0

@戴維如果你發現了一個更適合你的問題的答案,你可以自己發佈。 :) – toskv

相關問題