问题描述
我在 Electron 中有一个 Angular2 应用程序.现在,我想使用 @pokusew/pcsclite 库来使用 NFC 功能.该库使用原生 Node.js 模块.
I have an Angular2 app inside Electron. Now, I would like to use the @pokusew/pcsclite library to use NFC functionality. This library uses native Node.js modules.
当我尝试 require 我的 component.ts 中的库时,如下所示:
When I try to require the library in my component.ts like this:
declare var pcsclite: any;
var pcsclite = require('../../../node_modules/@pokusew/pcsclite/');
我收到错误提示:
错误 TS6143:模块../.."已解析为../../lib/pcsclite.js",但未设置--allowJs".
error TS6143: Module '../..' was resolved to '../../lib/pcsclite.js', but '--allowJs' is not set.
另一方面,如果我尝试通过 index.html 中的 <script>-Tag 导入库,则会收到一条错误消息:
On the other hand, if I try to import the library via a <script>-Tag in the index.html I get an error that says:
ZoneAwareError 错误:找不到绑定文件.试过了:...
ZoneAwareError Error: Could not locate the bindings file. Tried:...
最后,如果我 var pcsclite = require('@pokusew/pcsclite'); 在 main.js 中,那么它可以工作,但是我没有可以从我的 Angular 应用程序中访问它.
Finally, if I var pcsclite = require('@pokusew/pcsclite'); in the main.js, then it works, but then I don't have access to it from inside my Angular app.
推荐答案
像这样在 tsconfig.json 中添加 allowJs 选项:
正如 fabian lauer 所说,还添加了 outDir 选项来指定编译文件的位置:
Add the allowJs option in your tsconfig.json like this:
as fabian lauer said also add outDir option to specify where your compiled files will be:
{
"compilerOptions": {
"outDir": "./built", <--- add this
"allowJs": true, <--- and this
"target": "es5"
},
"include": [
"./src/**/*"
]
}
这篇关于在 TypeScript 中需要 JavaScript Node.js 模块(未设置allowJs')的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!



大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)