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

Phi*_*hil 16 javascript pcsc typescript electron angular

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

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

declare var pcsclite: any;
var pcsclite = require('../../../node_modules/@pokusew/pcsclite/');
Run Code Online (Sandbox Code Playgroud)

我得到并且错误说:

错误TS6143:模块'../ ..'被解析为'../../lib/pcsclite.js',但未设置' - allowJs'.

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

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

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

Bou*_*ine 29

添加allowJstsconfig.json喜欢的选项:
as fabian lauer说也添加outDir选项来指定编译文件的位置:

{
    "compilerOptions": {
        "outDir": "./built", <--- add this
        "allowJs": true,  <--- and this
        "target": "es5"
    },
    "include": [
        "./src/**/*"
    ]
}
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,我的每个.js文件都出现了其他错误."错误TS5055:无法写入文件'... components.js',因为它会覆盖输入文件" (5认同)