Wie man Angular-18-Fehler behebt: A namespace-style import cannot be called or constructed ...
Problem
Nach dem Upgrade Ihrer Angular-Anwendung auf Angular 18 sehen Sie Build-Fehler wie:
ts_error.txt
✘ [ERROR] TS2349: This expression is not callable.
Type 'typeof import("/home/uli/myproject/node_modules/dayjs/index.d.ts")' has no call signatures. [plugin angular-compiler]
src/app/day-js.service.ts:37:15:
37 │ const d2 = dayjs(d);
╵ ~~~~~
Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead.
src/app/day-js.service.ts:3:0:
3 │ import * as dayjs from 'dayjs'Lösung
Typescript 5.4 unterstützt das import * as X from 'X nicht mehr.
Daher müssen Sie
namespace_import_bad.ts
import * as dayjs from 'dayjs'zu
default_import_fixed.ts
import dayjs from 'dayjs'ändern
Check out similar posts by category:
Angular, Typescript
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow