Tengo una aplicación Angular2 dentro de Electron. Ahora, me gustaría usar la @pokusew/pcsclite para usar la funcionalidad NFC. Esta biblioteca utiliza módulos nativos de Node.js.
Cuando trato de requerir la biblioteca en mi componente.ts así:
declare var pcsclite: any; var pcsclite = require('../../../node_modules/@pokusew/pcsclite/');Me sale un error que dice:
error TS6143: el módulo '../..' se resolvió a '../../lib/pcsclite.js', pero '--allowJs' no está configurado.
Por otro lado, si trato de importar la biblioteca a través de una etiqueta <\script> en index.html, aparece un error que dice:
Error de ZoneAwareError : no se pudo ubicar el archivo de enlaces. Intentó:...
Finalmente, si var pcsclite = require('@pokusew/pcsclite'); en main.js , entonces funciona, pero no tengo acceso desde dentro de mi aplicación Angular.
Agregue la opción allowJs en su tsconfig.json así:
como dijo fabian lauer , también agregue la opción outDir para especificar dónde estarán sus archivos compilados:
{ "compilerOptions": { "outDir": "./built", <--- add this "allowJs": true, <--- and this "target": "es5" }, "include": [ "./src/**/*" ] }