Rollup生成空包

时间:2017-04-01 09:10:51

标签: javascript ecmascript-6 rollup

我想将.js文件与仅具有类定义的汇总捆绑在一起。但汇总只会创建一个空的捆绑文件。当我在类Definition之外添加一些代码时,这会发生变化。 这会创建一个空包:

class MyElement extends HTMLElement{
    constructor() {...}
    ...
}

这会创建一个填充的包:

class MyElement extends HTMLElement{
    constructor() {...}
    ...
}

customElements.define('my-element', MyElement);

但我不想在该文件中使用... define()。 有没有办法让rollup.js只捆绑类定义?

2 个答案:

答案 0 :(得分:3)

你有一个模块,它在本地范围内定义了一个类,但没有对它做任何事情 - 既不导出它也不用它来执行副作用,比如将它传递给define。这是死代码 - 这将被汇总剥离。您可能想要使用

export default class MyElement extends HTMLElement { /*
^^^^^^^^^^^^^^ */
    constructor() { … }
    …
}

可以绑定到仍然导出类的东西,以便它可以在其他地方使用。

答案 1 :(得分:2)

老话题,但对那些正在研究的人有用: 对我来说它有效:

更改文件 tsconfig.json

  "emitDeclarationOnly": false,