2016-03-06 57 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

相关问题