使用Laravel Elixir组合Javascript和Coffeescript
在我的Laravel项目中,我有许多javascript文件和一些coffeescript文件。它们存储在以下结构中:使用Laravel Elixir组合Javascript和Coffeescript,javascript,laravel,coffeescript,gulp,laravel-elixir,Javascript,Laravel,Coffeescript,Gulp,Laravel Elixir,在我的Laravel项目中,我有许多javascript文件和一些coffeescript文件。它们存储在以下结构中: resources/assets/js/jquery.min.js resources/assets/js/jquery.form.js resources/assets/coffee/main.coffee 我想使用Laravel Elixir和Gulp将coffeescript文件编译成Javascript,并将所有3个Javascript文件合并成一个文件并输出: pu
resources/assets/js/jquery.min.js
resources/assets/js/jquery.form.js
resources/assets/coffee/main.coffee
我想使用Laravel Elixir和Gulp将coffeescript文件编译成Javascript,并将所有3个Javascript文件合并成一个文件并输出:
public/js/main.js
我的问题似乎是mix.scripts()
只喜欢javascript文件,而mix.coffee()
似乎只喜欢coffeescript文件,因此我发现很难获得所需的输出
我相信我可以通过在我的coffeescript上运行mix.coffee()
,然后在生成的文件和其他两个Javascript文件上运行mix.scripts()
,以“黑客”的方式实现这一点,但我希望有更好的方法来实现这一点
elixir(function(mix) {
mix.scripts([
'jquery.min.js', 'jquery.form.js'
], 'public/js/main1.js');
mix.coffee([
'main.coffee'
], 'public/js/main2.js');
});
我也曾为同样的问题绞尽脑汁,我认为你的“黑客”方式是唯一的方式。我发现长生不老药实际上在它接受什么和它处理事情的方式上是相当有限的。它在大多数用例中都非常有效,但是试着做一些不寻常的事情&你将陷入困境:-)谢谢你的回复。是的,这似乎是唯一的办法。我在Github上发布了一个问题/建议,并得到了Elixir作者Jeffrey Way的回复。他说没有人真正支持这样做,只是按照我的建议去做。运行
mix.coffee()
,然后使用mix.scripts()
或mix.coffee()
在其之后构建单个文件的组合。他说长生不老药是同步运行的,所以这样做应该没问题。这不是一个理想的解决方案,但我想它是可行的!