2017-04-01 83 views
0

我想捆綁一個.js文件,其中只包含類定義的彙總。但彙總只創建一個空的捆綁文件。當我在類定義之外添加一些代碼時,這會發生變化。 創建一個空的包:Rollup生成空捆綁

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

,這將創建一個充滿包:

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

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

但我不希望有...定義()在該文件中。 有沒有辦法讓rollup.js只捆綁類定義?

回答

2

你有一個模塊,它在本地範圍內定義了一個類,但是並沒有對它做任何事情 - 既不導出也不用它來執行副作用,比如將它傳遞給define。這是死代碼 - 這將被彙總剝離。您可能需要使用

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

可將其捆綁到某些仍導出該類的項目,以便在其他位置可用。

+0

只是添加'導出默認'不會改變任何不幸的事情。我想在導入的html文件的腳本標記中使用該類 – treeno

+0

然後,您需要在彙總配置中指定您希望將此模塊作爲條目,並將其導出到全局範圍。 – Bergi