需要TypeScript中的JavaScript Node.js模块(未设置allowJs')
我在Electron里面有一个Angular2应用程序。现在,我想使用需要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
@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,是的,我将为现在出现的特定问题打开一个新问题。谢谢你们两位的帮助!