Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要TypeScript中的JavaScript Node.js模块(未设置allowJs')_Javascript_Angular_Typescript_Electron_Pcsc - Fatal编程技术网

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

需要TypeScript中的JavaScript Node.js模块(未设置allowJs'),javascript,angular,typescript,electron,pcsc,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:模块“....”已解析为“../../lib/p

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

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

declare var pcsclite: any;
var pcsclite = require('../../../node_modules/@pokusew/pcsclite/');
我得到一个错误,它说:

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

另一方面,如果我试图通过index.html中的-标记导入库,则会出现一个错误,显示:

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


最后,如果I
var pcsclite=require(“@pokusew/pcsclite”)main.js
中使用code>,然后它可以工作,但是我无法从Angular应用程序中访问它。

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

{
    "compilerOptions": {
        "outDir": "./built", <--- add this
        "allowJs": true,  <--- and this
        "target": "es5"
    },
    "include": [
        "./src/**/*"
    ]
}
{
“编译器选项”:{

“outDir”:“/build”,不幸的是,我的每个.js文件都会出现其他错误。“错误TS5055:无法写入文件“…components.js”,因为它会覆盖输入文件“@Phil这可能是因为您没有设置
“outDir”
,或者您设置了
“outDir”
tsconfig.json
中,将模块导入到与源文件相同的目录中。好的,我使用Angular CLI再次设置了整个项目,以避免此类问题。使用
allowJs
我现在可以从“../node\u modules/…”使用
import*作为pcsclite导入模块
,但是当我尝试使用它时,
const pcsc=pcsclite();
我在控制台中得到了这个错误:
TypeError:exists不是一个函数(vendor.bundle.js)并且在编译时出现了一些关于bindings.js的警告。我不能使用
pcsclite
因为我在windows上,请尝试从“pcsclite”导入作为pcsclite
从“pcsclite”导入{};
@Fabian Lauer,是的,我将为现在出现的特定问题打开一个新问题。谢谢你们两位的帮助!