如何防止TypeScript在输出中包含.d.ts导入?

时间:2016-09-27 17:28:28

标签: javascript typescript webpack typescript-typings

我已使用以下命令将.d.ts文件(即p2.js库的类型定义)安装为外部(非全局)typings模块:

typings install p2=github:schteppe/p2.js/index.d.ts#9d56924

然后我在我的TypeScript代码中使用它,如下所示:

import * as p2 from 'p2';

此导入显示在已编译的javascript中:

var p2 = require('p2');

但是,显然,我不需要它,因为p2外部模块只包含类型定义,而不包含实际代码。然后我在TypeScript的输出上运行webpack,它无法使用

进行编译
...Module not found: Error: Cannot resolve module 'p2'...

使用此外部模块的正确方法是什么,以便TypeScript和我的IDE(带有atom-typescript插件的Atom)看到定义,但是没有require调用它包含在TypeScript输出中?

2 个答案:

答案 0 :(得分:1)

webpack支持配置外部。

在你的情况下,这将是
externals: [ { "p2": true}]

有关处理webpack文档中的外部信息的更多信息: webpack.github.io/docs/configuration.html#externals。

编辑:使用评论中的新信息进行更新

答案 1 :(得分:0)