我在主条目JS文件中有一些JS函数,这些函数在用户交互后只能由HTML菜单调用,显然esbuild认为它们没有被使用,比如:
HTML:
<a id="ndb" onmouseenter="keeptopbar()" onmouseleave="reltopbar()" onclick="askuser('newform')">FORM</a>
script.js:
function askuser(inpv) {
var st = "";
if (inpv === 'newform'){
编辑:我试图添加";"出口";在这些功能上,但它不起作用。
有没有一个选项可以包含在package.json中,以使esbuild包含主条目JS文件中的所有函数,或者任何其他技巧?
您可以将函数创建为全局对象的属性:
window.keeptopbar = function(){
//...
};
window.reltopbar = function(){
//...
};
window.askuser = function(inpv){
//...
};
这样一来,esbuild的树抖动不会删除它们,而且还可以确保这些函数是全局的。
您可以尝试让ESBuild相信这些函数将在您的JS中使用。这可能有效:
if (Math.random() < 0) console.log(askuser);