2017-07-13 7 views
0

は私があるresources/assets/js/app.js で私の単純な関数を使用しようとしています:LaravelのWebPACKコンパイル

@section('footer-scripts') 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      notifme('fa fa-user-circle','Logged In'); 
     });   
    </script> 
@endsection 

しかし、私のアプリをコンパイルした後:

require('./partial/bootstrap'); 
require('./partial/bootstrap-notify'); 

function notifme(icon,text){ 
     $.notify({ 
     // options 
     icon: 'icon',   
     message: 'text'  
    }) 
} 

私はで私のテンプレートでそれを呼びたいです。 webpackとのjs、私のapp.jsファイルに余分なものを追加するため、私の関数はアクセスできない(長いので、コンパイルされた関数のセクションをコピーするだけです):

/* 9 */ 
    /***/ (function(module, exports, __webpack_require__) { 

    __webpack_require__(10); 
    __webpack_require__(35); 

    function notifme(icon, text) { 
     $.notify({ 
      // options 
      icon: 'icon', 
      message: 'text' 
     }); 
} 

/***/ }), 

コンパイルのない別のファイルに自分の関数を追加した場合にのみ動作します。

私の主なapp.jsファイルの中に私の機能を置くことができる方法はありますか?

エラー:

Uncaught ReferenceError: notifme is not defined at HTMLDocument. ((index):61) at mightThrow (app.js:4062) at process (app.js:4130)

答えて

0
に、あなたの定義を変更し

window.notifme = function() { 
    ... 
} 

編集

ので、あなたのresources/assets/js/app.jsファイルには、次のようになります。

require('./partial/bootstrap'); 
require('./partial/bootstrap-notify'); 

window.notifme = function (icon, text) { 
    $.notify({ 
     // options 
     icon: 'icon', 
     message: 'text' 
    }) 
} 

希望します。

+0

tnx。私はそれを確認しましたが、動作していません... !!!! – behzad

+0

@behzadもう少し情報を教えてください。エラーが出ているのですか、それともあなたが望むように動作していませんか? –

+0

スクリプトを組み込んだ後で、関数を呼び出すのは間違いありませんか? .jsファイルを間違いなく再コンパイルしましたか?ハード・リフレッシュまたはブラウザ・キャッシュを消去するページを実行しましたか? Webpackのgubbinsは違いをもたらすべきではありません。 –

関連する問題