I am trying to log date/time into the javascript console. The error message I am getting is as follows and was generated by the code below.
ETA: the code does work. The dates are going to the console. It is just the Error Message remains
Message:
ERROR in src/app/kdc/services/customers.api.service.ts(60,9): error TS2591: Cannot find name 'require'. Do you need to install type definitions for node? Try
npm i @types/node
and then addnode
to the types field in your tsconfig.
NOTE: I have already made changes to the tsconfig.json
file and have also done npm i @types/node
and npm i @types/node --save
When running npm
result was 3 high-security vulnerabilities
(see below)
What can I do at this point?`
customer.api.service.ts
getCustomers(): Observable<Customers[]> {
return this.httpclient.get<Customers[]>(this._url)
.pipe( catchError(this.handleError));
}
handleError(error:HttpErrorResponse){
let rval = Math.random().toString(36).substring(7).toUpperCase();
require('log-timestamp');
console.error('MSG NO :' + rval );
console.error(error);
return throwError(rval + " <-> " + error.name + " <-> " + error.statusText );
}
ETA
I found the message here Cannot find name 'require' after upgrading to Angular4 and made the change to my
tsconfig.app.json
file - it may be overkill, but it worked ...
"compilerOptions": {
"outDir": "./out-tsc/app",
"types": [ "node" ],
"typeRoots": [ "../node_modules/@types" ]
},
Make sure you put the type in your tsconfig.app.json not your tsconfig.json
"compilerOptions": {
"module": "esNext",
"types": ["node"]
},
Also make sure your systax in your component look like this
const someLib = require("someLib"); // make sure the name is match with your package name
Then stop angular cli then run again
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With