Laravel 5 Elixir脚本成分不起作用(没有输出文件)

时间:2015-02-06 02:11:11

标签: laravel gulp laravel-5 laravel-elixir

我有一个用于连接js文件的gulp文件,我有更多代码,我想这样做,因为我在网站上有不同的部分,我不希望用户下载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文件,脚本成分只连接两个js文件中的一个(maskedinput.js一个,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/');

});

2 个答案:

答案 0 :(得分:3)

好吧,我找到了一个解决方法,让它按我想要的方式工作。我刚刚使用了纯gulp.js,通配符(docs没有任何相关信息)的用法:

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

现在一切都正确连接。不会接受这个作为答案,因为'scriptsIn'之后的IMO'脚本'仍有问题,我很好奇这是否是一个bug。

答案 1 :(得分:0)

我相信您在更改后忘记添加.js,因此您应该尝试使用:

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

修改

我已经再次测试了你的情况。目前看来它不起作用。由于任何Elixir函数(scriptsInscript而输出的文件将不会在另一个函数中使用(例如,在这种情况下为script)。我玩了一下有了它,现在看不到任何解决方法。