Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Angular 2/Typescript应用程序中使用第三方js库?_Javascript_Typescript_Angular - Fatal编程技术网

Javascript 如何在Angular 2/Typescript应用程序中使用第三方js库?

Javascript 如何在Angular 2/Typescript应用程序中使用第三方js库?,javascript,typescript,angular,Javascript,Typescript,Angular,我正在尝试在Angular 2/Typescript应用程序中使用第三方.js库。网上有一些例子(比如使用declarevar libraryVar:any;),但似乎什么都不起作用。有没有一种正确的方法可以将.js库集成到Typescript/Angular2中?我发现使用外部库的最好方法是在Typescript的顶部为它创建一个变量并导入js。通过这样做,变量将提供库在TS中提供的所有函数,而无需任何额外工作 例如,如果您想使用moment.js进行一些时间计算。 将此添加到ts文件中 va

我正在尝试在Angular 2/Typescript应用程序中使用第三方.js库。网上有一些例子(比如使用declarevar libraryVar:any;),但似乎什么都不起作用。有没有一种正确的方法可以将.js库集成到Typescript/Angular2中?

我发现使用外部库的最好方法是在Typescript的顶部为它创建一个变量并导入js。通过这样做,变量将提供库在TS中提供的所有函数,而无需任何额外工作

例如,如果您想使用moment.js进行一些时间计算。 将此添加到ts文件中

var moment = require("./scripts/moment");
之后,您可以通过直接使用变量来使用typescript中的函数

moment.fromNow("SOMEDATE");
几天前我遇到了这个问题,我发现这是一个很好的选择,另一个好方法是创建一个包含所有帮助程序的typescript类,并将typescript引用到您的文件中,并在其中调用帮助程序。仍然在一个坚实的模式上进行实验,但这将是一个起点

网上有一些例子(比如使用declarevar libraryVar:any;),但似乎什么都不起作用。是否有一种将.js库集成到Typescript/Angular2中的正确方法

也许你忘了把
声明var libraryVar:any在没有根级别导入/导出的vendor.d.ts文件中


更多信息:

web上充斥着使用第三方库的typescript项目示例

是我的一个使用arcgis js api的

并且是一个使用openlayers的

在您的情况下,您可以尝试以下方法:

bower init
bower install node-uuid --save
tsd install uuid --save
然后设置您的文件。我认为Angular 2使用systemjs,所以您可能希望设置module=“system”(请参阅),除非您有理由不这样做

我在systemjs方面运气不太好,但您可能需要执行类似的操作以使其加载uuid或任何其他AMD模块:

window.define = System.amdDefine;
window.require = System.amdRequire;

有关说明,请参阅。

哪个库?尝试TSD.uuid.js我想我可以在DefinitelyTyped上找到它,但不确定下一步该怎么做。TSD安装uuid--save,bower安装节点uuid--save,setup tsconfig.js文件忽略bower组件,我在尝试时会出现以下错误:ReferenceError:require未定义