【问题标题】:How to use a node module in Angular which is not created for Angular?如何在 Angular 中使用不是为 Angular 创建的节点模块?
【发布时间】:2018-02-28 09:53:00
【问题描述】:

示例模块: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 中使用二维码阅读器?在这个例子中 X 和 Y 是什么?

【问题讨论】:

    标签: javascript angular typescript require


    【解决方案1】:

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

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

    或者,如果你已经使用 Angular CLI 打包了库,你可以强制 typescript 忽略它没有类型的包的使用:

    delcare var QRCode: any;
    

    【讨论】:

      【解决方案2】:

      您可以安装安装包,以及类型脚本环境中的完整功能,例如 Angular:

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

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

      【讨论】:

        猜你喜欢
        • 2015-02-06
        • 2017-04-01
        • 2018-08-02
        • 2017-02-20
        • 2018-06-23
        • 1970-01-01
        • 1970-01-01
        • 2021-12-18
        • 1970-01-01
        相关资源
        最近更新 更多