【问题标题】:Import FastClick导入快速点击
【发布时间】:2016-02-27 18:47:39
【问题描述】:

我正在使用 FastClickFastClick.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 错了吗?我是不是导入模块错了?

【问题讨论】:

    标签: typescript definitelytyped fastclick.js


    【解决方案1】:

    @basarat 从未合并他的拉取请求。通过括号表示法调用 attach 将防止 TSC 错误并发出正确的 JS。

    import * as FastClick from 'fastclick';
    FastClick['attach'](document.body);
    

    这并不理想,但它有效。

    【讨论】:

      【解决方案2】:

      FastClick.d.ts 错了吗

      是的。绝对打字是最好的努力(就像大多数与源代码断开的文档一样),在这种情况下是错误的。

      【讨论】:

      • 好的。它出什么问题了?怎样才能做到正确?
      • 太棒了,解决了!你能解释一下修复方法吗?
      • 声明导出了错误的内容。我导出了正确的东西
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      • 2017-09-27
      • 2014-09-20
      • 2014-12-21
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多