developit / developit/microbundle

[Question] Sub-exports depending on main export bundle the entire main-export.

未關閉
#1,027 3 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
JavaScript
星號
8.1k
分支
358
PR 合併指標
30 天內沒有已合併 PR

描述

I have a project where I have a main-export and multiple other exports. The other exports are extensions that depend on the main-export, but I don't want them to be in the main-export to keep it as small as possible.

Users should be able to do:

```javascript
import {Thing} from 'package';

// optional addition
import {OtherThing} from 'package/a';
```

(or similarly using multiple script-tags with the umd-builds)

As for the source-files, it's roughly like this:

```typescript
// index.ts
export * from './main';

// main.ts
export class Thing {}

// a.ts
import {Thing} from './main';

export class OtherThing extends Thing {}
```

And the package.json contains these sub-exports:

```
"exports": {
".": {
"import": "./dist/index.modern.js",
"require": "./dist/index.js",
"umd": "./dist/index.umd.js",
"browser": "./dist/index.module.js"
},
"./a": {
"import": "./dist/a.modern.js",
"require": "./dist/a.js",
"umd": "./dist/a.umd.js",
"browser": "./dist/a.module.js"
},
}
```

With this, the output-files for '`./a`' (all formats) have the entire definition of '`./main.ts`' inlined.

So my question is, is there a way to configure microbundle to treat those other files as externals?

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。