2015-09-17 7 views
8

新しいプロジェクトでLaravelのElixirとSemantic UIを使いたいです。LaravelのGulp/Elixir `watch`タスクを変更する

セマンティックUIドキュメントでは、現在のプロジェクトのgulpファイルにgulpタスクを含める方法を提案しています。ララヴェルでは、(簡単に)エリクサーを拡張する方法を提案します。しかし、watchコマンドにもう1つのgulpタスクを含めるにはどうすればよいですか?

現在、私はgulp watch watch-uiを実行していますが、watch-uiタスクをwatchに含めることにしました。出来ますか?

これは私の現在のgulpfile.js次のとおりです。

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') 
}; 

gulp.task('watch-ui', semantic.watch); 
gulp.task('build-ui', semantic.build); 

elixir(function(mix) { 
    mix.task('build-ui'); 
}); 

答えて

3

私が正しくあなたの質問を理解していれば、あなたはセマンティックUIタスクに何かを追加したいです。ただし、実際にタスクを定義することはありませんが、タスクに割り当てることのできる機能のみを定義します。

ファイルにパッチを適用しない限り、実際にはsemantic watchタスクには何も含めることはできませんが、2つの監視タスクを追加して両方を実行することもできます。あなたが意味する場合https://github.com/Semantic-Org/Semantic-UI/blob/master/gulpfile.js#L46

3

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タスクはここでウォッチ機能を使用する必要があることをどのように定義するか、セマンティックUI見ることができます。

次のコードは、あなたが必要なものを行うためにあなたを有効にする必要がありますエリクシールAPIでカスタムウォッチャロジックを追加することは可能ですか?短い答えは

...しかし、ElixirはGulpの上にあるラッパーであるため、と同じ結果を得るために直接gulp.tasksを変更してください:watchの名前をElixirが別のものに変更した後、両方を実行する独自のwatchタスクエリクサーの時計とセマンティックUI時計:エリクサー自身で

gulp.tasks['watch-elixir'] = gulp.tasks.watch; 

gulp.task('watch', ['watch-elixir', 'watch-ui']); 


、カスタムウォッチャーに着く最も近い監視するファイルパスのセットを受け取り、タスクを再トリガmix.task()に2番目の引数であります変更時に。あなたが何かのような...

mix.task('build-ui', './resources/assets/semantic/src/**/*') 

を行うことができますが、だから、...それは完全なセマンティックが提供する、より詳細なwatchタスクと同じではないすべての変更、上の再構築をトリガします。

関連する問題