使用带有 Angular2 的scanner-js

Posted

技术标签:

【中文标题】使用带有 Angular2 的scanner-js【英文标题】:Using scanner-js with Angular2 【发布时间】:2017-07-14 15:23:10 【问题描述】:

我目前正在尝试在我尝试学习的一个 Angular2 项目中使用 Scanner-JS。

我对 Angular2 很陌生,所以这个问题对你们中的一些人来说可能看起来很简单。

我已经使用 npm 安装了scanner-js

npm install scanner-js --save

有没有办法可以将它导入到我的打字稿中?

我已经尝试过执行以下操作(请不要笑)

import  scanner  from 'scanner-js'

但这不起作用,我收到一条错误消息

Uncaught ReferenceError: scanner is not defined

有没有人能在正确的方向上推动我如何让它发挥作用?

提前致谢。

【问题讨论】:

【参考方案1】:

在包含的.d.ts 文件中:

declare module 'scanner-js';

然后按照您指定的方式导入您的模块。默认情况下,当您声明这样的模块时,它将具有any 类型。

查看官方手册中的working with other js libs 和module resolution 了解更多信息。

对于其他流行的库,.d.ts 类型文件已经由其他类型的人定义,您可以像这样安装它:

npm install --save-dev @types/d3

【讨论】:

好的,所以我在一个以 .d.ts 结尾的文件中声明了scanner-js,然后尝试使用以下代码“import * as scanner from 'scanner-”在我的组件文件中导入该库js';"我也试过“从'scanner-js'导入scanner;”但是这两个都给出了与我原来的问题相同的错误。 关于@types 是否有一个包含可用类型列表的站点? 见***.com/questions/37548066/…【参考方案2】:

换行:

import  scanner  from 'scanner-js'

与:

declare let scanner;

并确保您已将scanner.js 脚本添加到index.html

【讨论】:

是的,我可以确认它适用于 Angular 7+。感谢您的帮助。

以上是关于使用带有 Angular2 的scanner-js的主要内容,如果未能解决你的问题,请参考以下文章

如何使用带有表单数据主体而不是 json 主体的 http 'POST'? (Angular2/打字稿)

使用带有 Angular2 应用程序的引导程序的问题

带有变量 angular2 的 innerHTML

Angular2:输入控制带有ngFor的表单标签内的损失值

angular2,带有凭据的http。无法添加 cookie

Angular2 @Input 到带有 get/set 的属性