我在Electron内有一个Angular2应用程序。现在,我想使用@pokusew/pcsclite库来使用NFC功能。该库使用 native Node.js模块。

当我尝试在我的component.ts中要求该库时,如下所示:

declare var pcsclite: any;
var pcsclite = require('../../../node_modules/@pokusew/pcsclite/');

我得到和错误说:



另一方面,如果我尝试通过index.html中的 -Tag导入库,则会收到一条错误消息:



最后,如果我在var pcsclite = require('@pokusew/pcsclite');中使用main.js,那么它可以工作,但是我没有从Angular应用程序内部访问它的权限。

最佳答案

像这样在您的allowJs中添加tsconfig.json选项:
正如fabian lauer所说,还添加了outDir选项以指定编译文件的位置:

{
    "compilerOptions": {
        "outDir": "./built", <--- add this
        "allowJs": true,  <--- and this
        "target": "es5"
    },
    "include": [
        "./src/**/*"
    ]
}

10-08 11:28