2016-10-02 10 views
1

WebpackまたはJSで本当に基本的なものを紛失していなければなりません。私は、フォームのsubmit関数でバンドルされた関数を呼び出すだけです。私はメッセージが見つかりませんでした機能を取得し、私は理由を把握することはできません。onsubmit関数がwebpackでバンドルされた関数を見つけることができません

エラーのindex.html:13キャッチされないにReferenceError:二重が定義されていない

index.htmlを

<head> 
    <script type="text/javascript" src="bundle.js"></script> 
<body> 
    <form name='myform' onsubmit="doStuff(event); return false;"> 
     <button type="submit">Press Me!</button> 
    <script type="text/javascript"> 
     function doStuff(e) { 
      e.preventDefault(); 
      console.log(double(32)); 
     } 

abc.js(簡潔にするために除去タグを閉じる)(WebPACKのエントリポイント)

var a = require('./double'); 

double.js

function double(number) { 
    return number * 2; 
} 
module.exports.double = double; 

バンドル...

$ webpack abc.js bundle.js 
Hash: 0e65404017702c54dac5 
Version: webpack 1.13.2 
Time: 59ms 
    Asset  Size Chunks    Chunk Names 
    bundle.js 1.58 kB  0 [emitted] main 
    [0] ./abc.js 28 bytes {0} [built] 
    [1] ./double.js 80 bytes {0} [built] 

すべてのヘルプは、問題がページをミックスしようとしている

答えて

1

を高く評価し、JSを同梱。それらは異なるスコープにあるため、バンドルされたメソッドは表示されません。

私はonsubmit関数をwindow.loadの後に実行されているエントリファイルに移動しました。ウィンドウオブジェクトはもちろんグローバルなので、バンドルされたコードはイベントハンドラを任意のDOM要素に追加できます。

関連する問題