developit / developit/microbundle

Multiple entry bundles

未关闭
#793 8 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
needs more info question :grey_question:
主要语言
JavaScript
星标
8.1k
派生
358
PR 合并指标
30 天内没有已合并 PR

描述

Hi. I'm following the example provided [here](https://github.com/developit/microbundle/issues/545#issuecomment-579869678) in order to bundle 3 different modules. The thing is that one of this modules requires the others, but when running `microbundle -f cjs src/*.ts --no-compress` the output doesn't preserve the `require` statements and instead bundle the dependencies inline.

I've created an example here https://github.com/nachaos/microbundle-example

Current output (using microbundle@0.13.0)
```js
// /dist/c.js
var a = 'a';

var b = 'b';

var lib = 'lib';

var c = function c(_c) {
return "" + a + b + _c + " - " + lib;
};

exports.c = c;
//# sourceMappingURL=c.js.map
```

Expected output
```js
// /dist/c.js

var a = require('./a');

var b = require('./b');

var lib = 'lib';

var c = function c(_c) {
return "" + a + b + _c + " - " + lib;
};

exports.c = c;
//# sourceMappingURL=c.js.map
```

Is there a way to configure microbundle in order to get what I expect?

Also, when trying with microbundle@0.12.3 this is the output. The `require` statements are preserved but with `.ts` file extensions, causing the usage of the module to fail.

```js
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }

var a_ts = require('./a.ts');
var b = _interopDefault(require('./b.ts'));

var lib = 'lib';

var c = function c(_c) {
return "" + a_ts.a + b + _c + " - " + lib;
};

exports.c = c;
//# sourceMappingURL=c.js.map

```

贡献指南

这个仓库没有索引到贡献指南

调研方向

Start with the linked microbundle example and run `microbundle -f cjs src/*.ts --no-compress`, then compare the generated `dist/c.js` with the expected output in the issue. Done means preserving the `require('./a')` and `require('./b')` statements for the multiple entry bundles and avoiding emitted `.ts` extensions.

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript, rollup, typescript
领域
build-system, tooling
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。