Laravel Elixir命令的异步执行

时间:2015-02-12 12:00:30

标签: node.js laravel gulp laravel-5 laravel-elixir

我在使用Laravel Elixir时遇到了一些麻烦,并确定了执行顺序的顺序。我一直被认为链接elixir调用将强制它们同步执行但我遇到了一些问题,在某些情况下某些命令似乎没有执行或似乎执行顺序意味着它们没有正确完成

我的第一个问题是dependencies.js函数从未被version()函数版本化,直到我交换了两个scripts()函数,因此dependencies.js函数运行了第二

另一个问题是,当我通过gulp函数运行任务时,大多数情况下,字体非常棒的字体会被复制到构建目录中。但是,当运行gulp watch时,它们通常会被省略。

我能够解决这两个问题,但我一直看到这样的小事让我觉得我并不完全理解执行顺序和它周围的微妙之处。有谁知道我是否遗漏了一些明显的东西?

感谢。

这是我的gulpfile.js代码:

mix.sass("app.scss", 'public/css/', {
        includePaths: [paths.bootstrap + 'stylesheets/']
    })
    .scripts([
        'js/app.js'
    ], 'public/js/app.js', paths.assets)
    .scripts([
        // paths.jquery + "dist/jquery.js",
        paths.bootstrap + "javascripts/bootstrap.js",
        paths.assets + "js/freelancer/classie.js",
        paths.assets + "js/freelancer/cbpAnimatedHeader.js",
        paths.assets + "js/freelancer/jqBootstrapValidation.js",
        paths.assets + "js/freelancer/contact_me.js",
        paths.assets + "js/freelancer/freelancer.js"
    ], 'public/js/dependencies.js', './')
    .version([
        'public/js/dependencies.js',
        'public/js/app.js',
        'public/css/app.css'])
    .copy(paths.bootstrap + 'fonts/bootstrap/**', 'public/build/fonts')
    .copy(paths.assets + 'fonts/font-awesome/', 'public/build/fonts');

1 个答案:

答案 0 :(得分:1)

Laravel Elixir最近得到了更新,本文讨论的第一件事就是事情的顺序。

这似乎是最新版本中修复的错误:

https://laravel-news.com/2015/07/laravel-elixir-version-3-is-released/