在打字稿中导入 javascript 库时出错
Posted
技术标签:
【中文标题】在打字稿中导入 javascript 库时出错【英文标题】:Error import javascript library in typescript 【发布时间】: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
,因为我使用角度,所以出现错误。在我对我的项目进行了一些更改之后,我保存了它。我仍然收到错误,但我的项目有效。这个库也很好用。
有人知道为什么会这样吗?
【问题讨论】:
【参考方案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 不存在则创建”?我不明白这是什么意思 @netalexhttps://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;
【讨论】:
以上是关于在打字稿中导入 javascript 库时出错的主要内容,如果未能解决你的问题,请参考以下文章