developit / developit/microbundle

Mixed default and named exports changes default export

Ouverte
#712 16 commentaires 7 réactions 0 personnes assignées Voir sur GitHub
enhancement :rocket: known issue
Langage dominant
JavaScript
Étoiles
8.1k
Forks
358
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.