【问题标题】:@types/zepto prevents me from importing zepto itself@types/zepto 阻止我导入 zepto 本身
【发布时间】:2018-03-03 18:18:42
【问题描述】:

我已经在 npm 中安装了 zepto@types/zepto 包。如果我只安装不带类型的zepto 并像这样导入它:

import * as $ from 'zepto';

一切正常。但如果我也安装@types/zepto,它在 node_modules 目录中的存在会以某种方式破坏它。它说“@types/zepto/index.d.ts 不是模块”。如何为 Zepto 加载类型定义?

【问题讨论】:

    标签: typescript zepto definitelytyped


    【解决方案1】:

    This 可能值得你一读。它将解释类型文件的工作原理。

    如果您将this 很好地放在项目的类型文件夹中,它应该可以正常工作。

    【讨论】:

      【解决方案2】:

      @types/jquery: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/jquery/index.d.ts

      @types/zepto: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/zepto/index.d.ts

      @types/jquery 中写入export = jQuery,而在@types/zepto 中仅写入declare var Zeptodeclare var $

      这些是不同的。

      export 可以作为模块导入,但是declare var 声明全局的东西,因此你不应该使用像import * as $ from 'zepto'import $ from 'zepto'这样的东西。如果您安装了@types/zepto,则Zepto$ 是全局声明的。

      【讨论】: