【发布时间】:2017-10-19 23:52:03
【问题描述】:
我编写了一个用 typescript 编写的库,并使用 webpack 将其捆绑到一个缩小的 js 文件中,该文件将库导出为一个全局变量。我想为我团队的开发人员分发这些类型。他们不是打字稿用户,因此他们将通过<script src="..."> 标记导入库本身,并且他们将使用三斜杠引用指令/// <reference path="..." /> 或typings 或类似的东西导入打字。
那么问题来了:
如何为使用 vs 代码的 js 开发人员启用我的库的类型化(即智能感知)?如何声明有一个全局变量可以导出我输入的值点呢?
我已启用 declarationDir and declartion compiler options 为我的所有打字稿源文件创建声明文件 (*.d.ts),但这些声明并未声明这些方法有可用的全局变量。
我尝试在捆绑和缩小的index.js 文件所在的同一文件夹中手动创建index.d.ts 声明,但我无法让它工作。
这是我尝试过的:
import * as myModule from './typings/src/';
declare module TheGlobalVariable {
// how do I declare that `TheGlobalVariable` has the same methods
// as `myModule` exports?
export = myModule; // doesn't work
}
其中./typings/src/index.d.ts 是为此库的入口点生成的声明文件,TheGlobalVariable 是 webpack 导出的全局变量的名称。
有什么想法吗?
【问题讨论】:
标签: javascript typescript webpack typescript-typings