4

我有一个用于连接 js 文件的 gulpfile,我还有一些代码,我想这样做,因为我将在网站上有不同的部分,我不希望用户下载他不会使用的 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 文件,scripts 成分仅连接两个 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/');

});
4

2 回答 2

4

好吧,我找到了一种解决方法,让它按我想要的方式工作。我只是使用了我在纯 gulp.js 中使用的通配符(文档没有关于此的任何信息):

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

现在一切都正确连接了。不会接受这个作为答案,因为在 'scriptsIn' 之后的 IMO 'scripts' 仍然存在问题,我很好奇这是否是一个错误。

于 2015-02-20T18:40:49.830 回答
0

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

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

编辑

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

于 2015-02-06T05:55:06.097 回答