我想在我的新项目中使用Laravel的Elixir和Semantic UI。
在Semantic UI文档中,他们建议如何将gulp任务包含在当前项目的gulpfile中。在Laravel,他们(简要地)建议如何扩展Elixir。但是如何在 SELECT
COUNT(DISTINCT idvisit) AS counted
, AVG(actions) AS average
, FROM_UNIXTIME(FLOOR( UNIX_TIMESTAMP(server_time)/900 ) * 900) AS final_server_time
FROM
visits
GROUP BY
final_server_time
ORDER BY
counted DESC, final_server_time
LIMIT 1
命令中包含另一个gulp任务?
目前我正在运行watch
,但我想在gulp watch watch-ui
内加入watch-ui
任务。有可能吗?
这是我目前的watch
:
gulpfile.js
答案 0 :(得分:3)
如果我正确理解您的问题,您需要在Semantic UI任务中添加一些内容。但是,它们从未真正定义任务,而只是一个可以分配给任务的函数。
除非您要修补文件,否则您无法在semantic watch
任务中包含任何内容,但您可以添加两个监视任务并确保它们都运行。
以下代码可让您执行所需操作:
var gulp = require('gulp');
var elixir = require('laravel-elixir');
var semantic = {
watch: require('./resources/assets/semantic/tasks/watch'),
build: require('./resources/assets/semantic/tasks/build')
};
// Define a task for the semantic watch function.
gulp.task('semantic-watch', semantic.watch);
// Define the main watch task, that is depended on the semantic-watch, this will run both watch tasks when you run this one.
gulp.task('watch', ['semantic-watch'], function() {
// Do your own custom watch logic in here.
});
gulp.task('build-ui', semantic.build);
elixir(function(mix) {
mix.task('build-ui');
});
您可以看到语义用户界面如何实际定义其watch
任务应在此处使用监视功能:https://github.com/Semantic-Org/Semantic-UI/blob/master/gulpfile.js#L46
答案 1 :(得分:3)
如果您的意思是可以通过Elixir API添加自定义观察程序逻辑,那么简短答案是否 ......
...但是,由于Elixir是Gulp之上的包装器,您可以直接修改gulp.tasks
以获得相同的结果:只需重命名watch
任务即可Elixir定义了其他内容,然后创建自己的watch
任务,同时运行Elixir的手表和语义UI手表:
gulp.tasks['watch-elixir'] = gulp.tasks.watch;
gulp.task('watch', ['watch-elixir', 'watch-ui']);
在Elixir本身中,与自定义观察者最接近的是mix.task()
的第二个参数,它使用一组文件路径来监视和重新触发任务。所以,虽然你可以做点像......
mix.task('build-ui', './resources/assets/semantic/src/**/*')
...会触发每次更改的完全重建,这与语义提供的更细粒度的watch
任务不同。