如何在Angular中使用不是为Angular创建的节点模块?

时间:2017-09-19 14:41:49

标签: javascript angular typescript require

示例模块:https://www.npmjs.com/package/qrcode

我很容易在纯javascript中使用它:

var QRCode = require('qrcode')

QRCode.toDataURL('I am a pony!', function (err, url) {
  console.log(url)
})

但我不能在Angular中使用“require”,对吧? Anguar有这个:

import { X } from Y

如何在Angular中使用qrcode阅读器?在这个例子中,X和Y会是什么?

2 个答案:

答案 0 :(得分:2)

您可以在诸如Angular的打字稿环境中安装安装包以及完整功能的类型:

npm install --save qrcode && npm install --save-dev @types/qrcode

然后在您的组件中,您现在可以import * as QRCode from 'qrcode'并在打字稿环境中使用它。

答案 1 :(得分:1)

老实说,这取决于包装。但对于大多数这样的事情都会奏效。

import * as QRCode from 'qrcode'
// Or
import QRCode from 'qrcode'

或者,如果您使用Angular CLI打包了库,则可以强制打字脚本忽略使用它没有打字的包:

delcare var QRCode: any;