Javascript 如何使用esbuild将类公开到全局范围?

Javascript 如何使用esbuild将类公开到全局范围?,javascript,ecmascript-6,bundler,esbuild,Javascript,Ecmascript 6,Bundler,Esbuild,更新 user@TKoL建议在窗口对象中定义一个属性。这产生了我想要达到的结果,尽管我不知道这是否是正确的方法。我将暂时使用这种方法。谢谢 我正在我的项目中使用(第一次以这种“风格”使用绑定器/开发JS)。 该项目是一个小型web组件,我为其开发了一个类,最终用户应该能够在脚本中使用该类 // this is the component, which is then bundled and minified by esbuild. // i have omitted various impor

更新

user@TKoL建议在窗口对象中定义一个属性。这产生了我想要达到的结果,尽管我不知道这是否是正确的方法。我将暂时使用这种方法。谢谢


我正在我的项目中使用(第一次以这种“风格”使用绑定器/开发JS)。 该项目是一个小型web组件,我为其开发了一个类,最终用户应该能够在脚本中使用该类

// this is the component, which is then bundled and minified by esbuild.
// i have omitted various imports required in the class here.

export default class Widget extends HTMLElement {
    /// code here is not relevant
}

customElements.define('custom-widget', Widget);
目前,最终用户可以使用HTML中的小部件,如下所示:

<custom-widget some-custom-attribute="some-value"></custom-widget>

let widget = document.querySelector('custom-widget');
widget.someMethodDefinedInTheClass();

您可以向
窗口
对象添加一个属性,
window.myFunction=…
dam,这很简单。谢谢,我被困在这上面有一段时间了哈哈。也许你可以教我一些东西作为交换。我该去哪里了解如何扩展这样的HTML元素并用它做一些很酷的事情?这似乎很有意思。很抱歉回复太晚。我一直在阅读这里和下面的web组件在线教程。你可以向
窗口
对象添加属性,
window.myFunction=…
该死,这很简单。谢谢,我被困在这上面有一段时间了哈哈。也许你可以教我一些东西作为交换。我该去哪里了解如何扩展这样的HTML元素并用它做一些很酷的事情?这似乎很有意思。很抱歉回复太晚。我一直在阅读这里的内容,并遵循web组件的在线教程。
let wOptions = {}; // object of initialization options for the widget
let widget = new Widget(wOptions);
someContainer.append(widget);
widget.someMethodDefinedInTheClass();