代码之家  ›  专栏  ›  技术社区  ›  naoru

Angular 2在模板中使用第三方库

  •  0
  • naoru  · 技术社区  · 7 年前

    我试图在我的应用程序中使用第三方(JustGage) 我可以像这样在我的组件中实例化它

    ngAfterViewInit() {
        var g = new JustGage({
          id: "gauge",
          value: 67,
          min: 0,
          max: 100,
          title: "System Health"
        });
    }
    

    这实际上很好,但我注意到IDE在抱怨

    找不到名称“JustGage”

    当我尝试构建应用程序时,由于此错误,编译失败。

    我如何解决这个问题?

    顺便说一句,我试着声明JustGage:任何 然后叫这个。JustGage,但仪表未显示,控制台 更新

    declare var require: any;
    var JustGage = require("justgage/justgage.js");
    

    因此,需求带来了一些东西,但不是正义

    2 回复  |  直到 7 年前
        1
  •  1
  •   naoru    7 年前

    因此,由于它已经在工作,问题不是第三方库的实际使用,而是打字脚本问题 解决方法是:

    declare var JustGage: any;
    

    在那之后,我能够编译

    为了防止对某人有所帮助,脚本的实际加载是在angular-cli.json中完成的

    "scripts": [
        "../node_modules/chart.js/dist/Chart.js",
        "../node_modules/justgage/raphael-2.1.4.min.js",
        "../node_modules/justgage/justgage.js"
      ],
    
        2
  •  0
  •   Yaser    7 年前

    如果您正在尝试访问 JustGage import require 不然。

    使用这样的名称意味着您假设 global variable .

    import {JustGage} from 'path/JustGage'
    

    或者您可以将这一行放在文件中(假设您使用的是typescript,否则将扩展名更改为您想要的):

    /// <reference path="path/JustGage.d.ts" />
    

    当然,您必须在 index.html config .