【问题标题】:Error import javascript library in typescript在打字稿中导入 javascript 库时出错
【发布时间】:2018-10-22 12:23:08
【问题描述】:

我想导入 javascript 库。那是赤田图书馆。我像这样在互联网上的建议中导入:

import * as akarata from 'akarata/dist';

import * as akarata from 'akarata';

还是会出现这样的错误

尝试 npm install @types/akarata(如果存在)或添加新的 包含声明模块“akarata”的声明 (.d.ts) 文件;

但我试过了,什么也没发生。

奇怪的是。只是首先我输入 ng serve ,因为我使用角度,所以出现错误。在我对我的项目进行了一些更改之后,我保存了它。我仍然收到错误,但我的项目有效。这个库也很好用。

有人知道为什么会这样吗?

【问题讨论】:

    标签: angular typescript


    【解决方案1】:

    TypeScript 是 JavaScript 的类型化超集,可编译为纯 JavaScript。 TypeScript 有自己的语法、函数和变量可以定义类型,如果你想使用外部库,例如akarata,你需要为 TypeScript 声明类型定义。一些库包括类型文件,你不需要为它们安装 TypeScript 的类型目标。但如果库没有 .d.ts 文件,则需要安装它。Type Search

    因为您的库在 TypeScript 和 Angular 中没有类型定义 (*.d.ts)

    解决方案:
    如果src/typings.d.ts 不存在则创建,否则,打开它,并将你的包添加到其中:

    declare module 'akarata'
    

    然后导入

    import * as akarata from 'akarata';
    

    【讨论】:

    • 很高兴我能帮上忙:)
    • 这句话的主语是什么? “如果 src/typings.d.ts 不存在则创建”?我不明白这是什么意思
    • @netalex https://basarat.gitbooks.io/typescript/docs/types/ambient/intro.html
    • 好吧@Vikas 坦克链接,但问题仍然存在:“如果 src/typings.d.ts 不存在则创建”这句话的主题是什么?是“src/typings.d.ts”吗?
    【解决方案2】:

    在您的 angular-cli.json 文件中。

    "scripts": [
        "../path" 
     ];
    

    然后添加typings.d.ts

    declare var akarata:any;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-17
      • 2019-08-23
      • 1970-01-01
      • 2017-02-06
      • 1970-01-01
      • 2017-08-02
      • 2019-12-11
      • 1970-01-01
      相关资源
      最近更新 更多