2017-04-24 11 views
3

私はLaravel 5.4プロジェクト(Laravel定型文付き)でjavascript関数を定義しようとしています。 私は関数を持つcustom.jsファイルを持っています。Laravel import javascript webpack mixを使用したカスタムファイル

function displayDef(){ 
    $("#worddef").html("Yippee"); 
} 

このファイルはwebpack.mix.js経由資産に含まれていると、正しくコンパイル後frontend.jsで発見されました。

問題:私は、私は、これらの機能にアクセスするにはなってるかさっぱりだが

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

    /* WEBPACK VAR INJECTION */(function($) {/* 
    * Local functions 
    * 
    */ 

    function displayDef() { 
    ... 

the function is undefined: Uncaught ReferenceError: displayDef is not defined

関数はjsのコンパイルされたファイルに存在しています。 はまた、私は別のファイルに入れしようとした場合:

.js([ 
    'resources/assets/js/chinese.js' 
], 'public/js/vendor.js') 

は、私はちょうど二同一のファイルを取得します。

私は非常に驚いています:どのように適切に定義し、ミックスでlaravel 5.4のjavascript関数にアクセスするのですか?

答えて

1

​​3210の機能mixは、モジュールバンドルファイルをコンパイルするために使用されます。 Laravelサイトから

:この機能は、従来のJavaScriptである場合

mix.js('resources/assets/js/app.js', 'public/js'); 

With this single line of code, you may now take advantage of:

  • ES2015 syntax.
  • Modules
  • Compilation of .vue files.
  • Minification for production environments.

、あなたはそれをコンパイルするscript機能を使用することができます。これは、すでに私がやっているものhttps://laravel.com/docs/5.4/mix#working-with-scripts

+0

:ここでは複数のチェックのために

This option is particularly useful for legacy projects where you don't require Webpack compilation for your JavaScript.

。オリジナルの420B関数から260kBのjsファイルを取得し、これらの2つの関数はグローバルに定義されていません。私の見解でどのようにアクセスするのですか? –

+0

'js'の代わりに' script'関数を使います。 –

+1

ありがとうございました、それは文書にないいくつかの詳細で動作しました。しかし、私はこれが従来のやり方である理由を理解していません。プロジェクトにjavascriptを追加する正しい方法は何ですか? –

関連する問題