将第三方库导入Angular2 / TS

时间:2017-10-28 20:03:52

标签: angular typescript

我在将this库导入Angular2 / Ionic项目时遇到问题。它是一个库,可以对原始加速度计数据进行一些计算。这个例子表明我需要做一个require('ahrs'),我试图在打字稿中做。在过去,我需要做的就是将js文件复制到一个可以访问的目录并为其声明一个变量。这种方法对其他库很有用,但这里有错误。这是我做的:

步骤1:通过自定义copy.config

将JS文件复制到我的项目构建目录
copyAHRS: {
        src: './external/www-ahrs.js',
        dest: '{{BUILD}}'
  },

这很好 - 我可以在我的构建中看到www-ahrs.js

第2步:将文件包含在index.html

 <script src="build/www-ahrs.js"></script>

这也很好。

第3步:尝试在我的代码中使用它(在组件中)。此代码直接来自AHRS库readme。这个错误。

declare var ahrs:any;

    try {
              madgwick = new ahrs({
              sampleInterval: 20,
              algorithm: 'Madgwick',
              beta: 0.4,
              kp: 0.5,
              ki: 0
          }); 

      }
      catch (e) {
        console.log ("MADGWICK ERROR " + JSON.stringify(e))
      }

1 个答案:

答案 0 :(得分:1)

您需要使用npm进行安装,然后在*ts文件的顶部声明它。以下是使用lodash

的示例
import {Component, OnInit} from '@angular/core';
import {Router} from '@angular/router';
const _ = require('lodash');

@Component({
    selector: 'my-component',
    templateUrl: './my-component.component.html',
    styleUrls: ['./my-component.component.scss']
})

你的

const ahrs = require('ahrs');