如何在Ionic 2 TypeScript项目中包含外部Javascript库

How to include external Javascript library in an Ionic 2 TypeScript project?

本文关键字:包含外 Javascript 项目 TypeScript Ionic      更新时间:2023-09-26

我用Ionic 2、Angular 2和TypeScript构建了一个Ionic项目来测试一下框架。我需要包括一个外部库(ntc.js)到我的项目,因为我需要它来命名十六进制颜色。

我知道在TypeScript中包含一个Javascript库应该可以工作,因为在JS中工作的东西在TS中也可以工作,我只是不想以错误的方式包含它。

我试图将库添加到www/build/js,但它似乎不起作用,而且似乎不是这样做的好方法。我试着寻找方法来做到这一点,但一无所获(可能是因为Angular 2和Ionic 2还很新)。

诸如:

import * as ntc from '../../js/ntc';

似乎不起作用,即使我的库位于正确的位置。TypeScript似乎没有正确读取我的文件,如果它读取的话。

做这件事的好方法是什么?我应该把我的。js文件在我的项目目录?

您可以将它添加到index.html中,就像任何其他常规javascript文件一样。

然后在你的ts文件中:

declare var Tree:any; 

然后在代码中,可以使用Tree变量,尽管它存在于Javascript文件中。这行代码基本上是告诉typescript编译器有一个变量Tree,它应该忽略它

除了声明变量存在之外,你还可以使用typescript的类型。通过编写

typings install libraryname

在你的控制台中,你得到一个已经声明了var/class的文件,当你导入它时,你可以看到它的所有函数/属性。

import {lib} from 'libraryname';