developit / developit/microbundle

Mixed default and named exports changes default export

Aperta
#712 16 commenti 7 reazioni 0 assegnatari Vedi su GitHub
enhancement :rocket: known issue
Lingua principale
JavaScript
Stelle
8.1k
Fork
358
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.