4

js ファイルを連結するための gulpfile があり、さらにコードがあり、Web サイトにさまざまなセクションがあり、ユーザーが使用しない css と js をダウンロードしたくないため、これを実行したいと考えています。現在、以下のコードを分離しましたが、最後の「関数」は何も出力していません。

    //works
    mix.scripts(['resources/js/jquery-2.1.1.min.js',
                'resources/js/bootstrap.min.js',
                'resources/js/jquery.maskedinput.min.js'],
              'resources/js/common.js')
    //works
    .scriptsIn('resources/js/user', 'resources/js/user.js')

    //NOPE! No file is created, even if I change the output directory/filename to resources/js or whatever
    .scripts(['resources/js/common.js',
              'resources/js/user.js'],
             'public/js/user.js');

ベースディレクトリを使用するように変更しようとしましたが、まだ何もありません:

    .scripts(['common.js',
              'user.js'],
             'public/js/user.js', 'resources/js');

何か案は?

編集:

真新しい laravel プロジェクト、新しい gulp ファイル、スクリプト コンポーネントは、2 つの js ファイルの 1 つだけを連結します (maskedinput.js の 1 つ、user.js は、両方が同じフォルダーにあり、そこにある唯一のファイルであっても完全に無視されます)。

elixir(function(mix) {
    mix.scriptsIn('resources/assets/js/user', 'resources/assets/js/user.js');

    mix.scripts(['user.js', 'maskedinput.js'],
       'public/js/user.js', 'resources/assets/js/');

});
4

2 に答える 2

4

よし、思い通りに動作させるための回避策を見つけました。純粋なgulp.js、ワイルドカードで使用していたものを使用しました(ドキュメントにはこれに関する情報がありません):

mix.scripts(['maskedinput.js', 'user/*.js'],
   'public/js/user.js', 'resources/assets/js/');

これで、すべてが正しく連結されました。「scriptsIn」の後のIMO「スクリプト」にはまだ問題があり、これがバグであるかどうか知りたいため、これを回答として受け入れるつもりはありません。

于 2015-02-20T18:40:49.830 に答える
0

変更後に追加するのを忘れたと思う.jsので、次を使用してみてください。

.scripts(['common.js','user.js'],'public/js/user.js', 'resources/js');

編集

あなたのケースをもう一度テストしました。現時点では機能していないようです。Elixir 関数の結果として出力されるファイル (scriptsInまたはscript、別の関数では使用されないファイル (たとえばscript、この場合)。少し試してみましたが、現時点では回避策はありません。

于 2015-02-06T05:55:06.097 に答える