developit / developit/microbundle

Mixed default and named exports changes default export

Aberta
#712 16 comentários 7 reações 0 responsáveis Ver no GitHub
enhancement :rocket: known issue
Linguagem predominante
JavaScript
Estrelas
8.1k
Forks
358
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.