Skip to content

ESNext build kan niet worden gebruikt met Next.js serverside #30

@martinbroos

Description

@martinbroos

Error: SyntaxError: Cannot use import statement outside a module

Geimporteerde modules in Next dienen ofwel commonJS te zijn of een ES module maar dan moet er wel in de package.json "type": "module" staan. Anders wordt dit niet als ES module opgepikt.

Na een snelle test werkt dit wel maar vervolgens heb je problemen in andere projecten die dan tijdens builden deze error geven:

Module not found: Error: Can't resolve './browserStorage' in '/Users/martin/projects/freshheads-javascript-essentials/build/storage'
Did you mean 'browserStorage.js'?
BREAKING CHANGE: The request './browserStorage' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.`

Wellicht is het meest handig om meerdere builds te maken UMD, ES en CommonJS bv. Maar dat gaat niet met alleen Typescript wat we hier gebruiken dus dan zouden we bv naar RollUp moeten kijken. Maar wie weet is er ook wel een andere oplossing aan de kant van Next.JS.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions