我正在尝试为包开发创建一个简单的工作流程,并希望有人能够朝着正确的方向努力。简而言之,一旦更新了css文件,我希望能够运行命令(php artisan vendor:publish --force
)来自动发布文件。
这可以用Elixir完成,如果是这样,任何人都能指出我正确的方向吗?
问候
答案 0 :(得分:1)
这对于让我走上正轨非常有用,但我发现了一个稍微简单的解决方案,我认为我会分享:
var elixir = require('laravel-elixir');
var gulp = require("gulp");
var shell = require("gulp-shell");
elixir(function(mix) {
mix.task('publish_assets', ['resources/assets/**/*.scss', 'resources/assets/**/*.js']);
});
gulp.task('publish_assets', shell.task([
"php ../../../../artisan vendor:publish --tag=public --force"
]));
它监视所有js和sass文件的更改并运行发布资产任务。我的目标只是发布公众"标记文件以及快速注释,您需要为其中任何一个安装gulp-shell实用程序(https://www.npmjs.com/package/gulp-shell)。
答案 1 :(得分:0)
如果有人在寻找,这很有效:
var gulp = require("gulp");
var shell = require("gulp-shell");
var elixir = require("laravel-elixir");
elixir.extend("publish", function() {
var baseDir = this.assetsDir;
gulp.task("publish_assets", function() {
gulp.src("").pipe( shell( [
"php ../../../artisan vendor:publish --force",
"cd ../../../ ; gulp"
]));
});
this.registerWatcher("publish_assets", [
baseDir + '**/*.scss',
baseDir + '**/*.js'
]);
return this.queueTask("publish_assets");
});