我在FastClick.d.ts中使用FastClick。台积电使用的是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
是否出错?我导入的模块是不是错了?
发布于 2016-07-06 00:39:42
@basarat从未合并过他的拉取请求。通过括号表示法调用attach
可以防止TSC错误并发出正确的JS。
import * as FastClick from 'fastclick';
FastClick['attach'](document.body);
它不是理想的,但它是有效的。
发布于 2015-11-25 13:21:38
FastClick.d.ts错误了吗?
是。在这种情况下,确定类型是尽力而为(就像大多数文档工作与源代码断开一样),并且是错误的。
https://stackoverflow.com/questions/33908716
复制相似问题