webpack编译后无法访问变量

时间:2017-01-25 14:27:18

标签: javascript webpack

webpack编译后我无法访问变量。 我需要它,因为我使用这个变量在onclick中调用函数。

代码就像

<a>

Webpack将此代码包含在eval()

在HTML中,我称之为

function DetailClass() {
  this.add = function() {
    console.log(1);
    }
}

var Detail = new DetailClass();

2 个答案:

答案 0 :(得分:6)

在您的网络包配置中,您必须指定output.libraryoutput.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());