developit / developit/microbundle
Mixed default and named exports changes default export
- Vorherrschende Sprache
- JavaScript
- Sterne
- 8.1k
- Forks
- 358
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Hey everyone! I am having the following issue, if I export like this:
```javascript
import GoogleMap from './google_map';
export default GoogleMap;
```
It will build:
```javascript
module.exports = GoogleMap;
```
However, when including named exports:
```javascript
import GoogleMap from './google_map';
export { namedExport1, namedExport2 } from './named_exports;
export default GoogleMap;
```
it changes to:
```javascript
exports.namedExport1 = namedExport1;
exports.namedExport2 = namedExport2;
...
exports.default = GoogleMap;
```
Which results in the following error:
**Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.**
I am pretty sure you will ask why we do need default exports, in my case I've a library that is used by a lot of people, I switched to microbundle a bit ago and realized later on this was buggy and it won't work with SSR unless we do `module.exports`, thing is even if I want to change the way we import / export to work with microbundle, I need to provide backwards compatibility or something...
I think this might be related to #264 and #306 but I am not completely sure if that's the case.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
No file, test, or entry point is named. Start by reproducing the two export examples with microbundle and compare the generated CommonJS output, then review the related issues #264 and #306. Done means mixed named and default exports preserve the expected default-import behavior, including the stated SSR compatibility requirement.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, rollup
- Bereich
- build-system, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100