我正在FastClick使用FastClick.d.ts。 TSC使用module: "commonjs"
并且我正在捆绑Webpack。我无法弄清楚如何引用FastClick。
如何将FastClick导入TypeScript?如果我这样做:
import {FastClick} from 'fastclick'
FastClick.attach(document.body);
我没有得到TSC编译错误,但是转换后的代码如下所示:
var fastclick_1 = require('fastclick');
fastclick_1.FastClick.attach(document.body)
哪个不起作用。 fastclick_1
似乎是FastClick
函数本身。
如果我这样做:
import * as FastClick from 'fastclick'
FastClick.attach(document.body)
我收到编译错误Error:(6, 49) TS2339: Property 'attach' does not exist on type 'typeof fastclick'
,但发出的JS有效:
var FastClick = require('fastclick');
FastClick.attach(document.body);
那么我怎样才能让TSC和发出的JS都工作? FastClick.d.ts
错了吗?我导入模块错了吗?
答案 0 :(得分:3)
@basarat永远不会合并他的拉请求。通过括号表示法调用import * as FastClick from 'fastclick';
FastClick['attach'](document.body);
将阻止TSC错误并发出正确的JS。
.attr()
这不太理想,但它确实有效。
答案 1 :(得分:1)
FastClick.d.ts是否错误
是。绝对Typed是最好的努力(就像大多数文档工作从源代码断开),在这种情况下是错误的。