需要在TypeScript中使用JavaScript Node.js模块(allowJs'未设置)

时间:2017-03-17 21:56:51

标签: javascript angular typescript electron pcsc

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

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

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

我得到并且错误说:

  

错误TS6143:模块' ../..&# 39;已经解决了' ../../ lib / pcsclite.js',但是' - allowJs'没有设定。

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

  

ZoneAwareError 错误:找不到绑定文件。尝试:...

最后,如果我var pcsclite = require('@pokusew/pcsclite');中的main.js,那么它可以正常工作,但我无法从我的Angular应用中访问它。

1 个答案:

答案 0 :(得分:29)

allowJs中添加tsconfig.json选项,如下所示:
fabian lauer所述,还添加outDir选项以指定编译文件的位置:

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