在我的 angular 2 项目中使用外部 JS 库

using external JS libraries in my angular 2 project

我需要在我的 angular 2 项目中使用 this JS library

这个问题可能和我重复,但没有答案对我有用

我试图将库作为脚本标记包含在我的 index.html 页面中

It always does not see it http://localhost:8100/PrayTimes.js file is not exist

上面这段代码也是我写的

declare var PrayTimes:any;

我试图在我的构造函数中使用它,但出现此错误

PrayTimes is not defined

将所有 javascript、外部 css、图像等放入 src/assets

(将编译为build/assets

在你的index.html中:<script src="assets/yourJavascript.js"></script>

然后你就可以像你描述的那样使用它了。 (declare var PrayTimes: any;)

如果你使用 angular-cli,你可以在 assets 文件夹中添加所有外部 JS 文件。然后在 angular-cli.json 添加它们:

"scripts": [
        "../node_modules/jquery/dist/jquery.min.js",
        "../node_modules/bootstrap/dist/js/bootstrap.min.js",
        "../node_modules/moment/moment.js",
        "../node_modules/chart.js/dist/Chart.bundle.min.js",
        "../node_modules/chart.js/dist/Chart.min.js",
        "../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker.min.js",
        "./assets/js/slimscroll.min.js",
        "./assets/js/inspinia.js",
        "./assets/js/metisMenu.js",
        "./assets/js/footable.all.min.js"
      ]

您也可以使用外部样式来做到这一点:

"styles": [
        "../node_modules/ng2-toastr/bundles/ng2-toastr.min.css",
        "../node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss",
        "../node_modules/font-awesome/scss/font-awesome.scss",
        "../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker3.min.css",
        "./assets/scss/plugins/footable/footable.core.css",
        "./assets/scss/style.scss"
      ]

当然你是对的,那么你需要在typings.d.ts中添加:

declare var PrayTimes:any;
declare var System: any;
declare var $: any;
declare var moment: any;
declare var Chart: any;

我需要在外部库中使用一个函数,所以我没有声明 JS class,而是声明了 JS 函数。

declare function zoom(t: any);