webpack编译后我无法访问变量。 我需要它,因为我使用这个变量在onclick中调用函数。
代码就像
<a>
Webpack将此代码包含在eval()
中在HTML中,我称之为
function DetailClass() {
this.add = function() {
console.log(1);
}
}
var Detail = new DetailClass();
答案 0 :(得分:6)
在您的网络包配置中,您必须指定output.library
和output.libraryTarget
。
以下是指南:https://webpack.github.io/docs/configuration.html#output-library
对于以下配置:
...
output:{
...
library: 'MyLib',
libraryTarget: 'var'
}
...
您可以像以下一样使用它:
<div onclick="MyLib.Detail.add();">Add</div>
答案 1 :(得分:2)
你不应该绑定那样的事件!
你在使用一些框架,比如React甚至是jQuery吗?例如,如果您使用的是最新的,那么就像这样绑定(在JS中,而不是HTML):
app\Auth\Providers\UserProviderInterface.php
如果你不是,请像这样绑定:
=IF(B2="CHECKIN",IFERROR(INDEX(B3:$B$1040000,MATCH(C2,C3:$C$1040000,0)),"#"),"#")
但是,如果这是一个例外并且您确实要导出某些内容,则可以将其设置为窗口对象:
$('#your-id').on('click', () => Detail.add());