在 JS 库中设置 public 方法的最佳方法是什么
What is the best way to setup public methods in a JS library
事实是疼痛本身很重要;而是生命之湖。这对孩子们来说是一个有趣的游戏,而 pulvinar diam 是一部卡通片。甚至足球运动员。 Donec id mauris vel nibh fugiat pulvinar。每个人和我的医生。 Duis tincidunts risus eu ligula 是最重要的,是时候放医用蛋白质了。有可能使某些舌片的嘴部自由,也有可能不自由。明天我向上帝布道,既没有说课程的结束,也没有说痛苦中的尊严。直到我们现在喝软饮料和feugiat。 Praesent fugiat,neque in Euismod pharetra,lacus nunc tempus,ne lacinia nisl nisi at dolor。整个故事应该很温柔
如果您的图书馆被包含在没有捆绑的网页上 - 即
<script src="..."></script>
<script>//other client script</script>
那么到目前为止最明智的方法(绝大多数这类库都实现了)是创建一个全局可访问的对象,为所有库属性和方法提供一个接口。向脚本 tag 发送点击事件没有意义。相反,让你的图书馆做这样的事情:
window.theLibrary = (() => {
const theLibraryNamespace = {};
// lots and lots and lots of code that assigns stuff to theLibraryNamespace
return theLibraryNamespace;
})();
然后,为了与它交互,页面上的其他脚本会做类似
的事情
theLibrary.sendMessage('someEventName', eventData);
或者也许
theLibrary.doX(eventDataForX)
(使用最适合您预期用例的任何类型的函数签名)
事实是疼痛本身很重要;而是生命之湖。这对孩子们来说是一个有趣的游戏,而 pulvinar diam 是一部卡通片。甚至足球运动员。 Donec id mauris vel nibh fugiat pulvinar。每个人和我的医生。 Duis tincidunts risus eu ligula 是最重要的,是时候放医用蛋白质了。有可能使某些舌片的嘴部自由,也有可能不自由。明天我向上帝布道,既没有说课程的结束,也没有说痛苦中的尊严。直到我们现在喝软饮料和feugiat。 Praesent fugiat,neque in Euismod pharetra,lacus nunc tempus,ne lacinia nisl nisi at dolor。整个故事应该很温柔
如果您的图书馆被包含在没有捆绑的网页上 - 即
<script src="..."></script>
<script>//other client script</script>
那么到目前为止最明智的方法(绝大多数这类库都实现了)是创建一个全局可访问的对象,为所有库属性和方法提供一个接口。向脚本 tag 发送点击事件没有意义。相反,让你的图书馆做这样的事情:
window.theLibrary = (() => {
const theLibraryNamespace = {};
// lots and lots and lots of code that assigns stuff to theLibraryNamespace
return theLibraryNamespace;
})();
然后,为了与它交互,页面上的其他脚本会做类似
的事情theLibrary.sendMessage('someEventName', eventData);
或者也许
theLibrary.doX(eventDataForX)
(使用最适合您预期用例的任何类型的函数签名)