2017-01-25 4 views
4

Webpackコンパイル後に変数にアクセスできません。 私はこの変数を使ってonclickで関数を呼び出すので、必要です。Webpackコンパイル後に変数にアクセスできません

コードが

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

 
var Detail = new DetailClass();

のevalに、このコード(含むWebPACKの)

のようなもので、HTMLに私は

<div onclick="Detail.add();">Add</div>
のようにそれを呼び出します

答えて

2

... 
output:{ 
    ... 
    library: 'MyLib', 
    libraryTarget: 'var' 
} 
... 

あなたが好きそれを使用することができるようになります!

ReactやjQueryのようなフレームワークを使用していますか?あなたは、例えば、最新のを使用している場合は、その(JSではなく、HTML)のようにバインドします

$('#your-id').on('click',() => Detail.add()); 

あなたがいない場合は、次のようにバインドします。これがあれば、しかし、

document.getElementById('your-id').onclick =() => Detail.add(); 

例外で、実際に何かをエクスポートしたい場合は、ウィンドウオブジェクトにそれを設定することができます:

window.Detail = Detail; 
4

ウェブパックの設定では、output.libraryoutput.libraryTargetを指定する必要があります。

は、ここでのガイドです:次のような構成の場合https://webpack.github.io/docs/configuration.html#output-library

:あなたはそのようなイベントをバインドするべきではありません

<div onclick="MyLib.Detail.add();">Add</div> 
関連する問題