Requiring a JavaScript Node.js module in TypeScript (allowJs' is not set)
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/**/*"
]
}
Phil
Updated on July 05, 2022Comments
-
Phil almost 2 years
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.When I try to require the library in my component.ts like this:
declare var pcsclite: any; var pcsclite = require('../../../node_modules/@pokusew/pcsclite/');
I get and error that says:
error TS6143: Module '../..' was resolved to '../../lib/pcsclite.js', but '--allowJs' is not set.
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 Error: Could not locate the bindings file. Tried:...
Finally, if I
var pcsclite = require('@pokusew/pcsclite');
in themain.js
, then it works, but then I don't have access to it from inside my Angular app.