在嘗試合併我在我的網站上使用的所有預編譯的前端庫之前,我需要檢查文件是否存在。在Laravel Elixir上調用任務之前檢查文件是否存在5.2
這是我gulpfile.js至今:
var elixir = require('laravel-elixir'),
fs = require('fs'),
assetsPath = './resources/assets/',
bowerPath = assetsPath + 'bower/',
cssPath = assetsPath + 'css/';
elixir(function(mix) {
var cssLibraries = [
bowerPath + 'bootstrap/dist/css/bootstrap.min.css',
bowerPath + 'font-awesome/css/font-awesome.min.css',
bowerPath + 'Ionicons/css/ionicons.min.css',
bowerPath + 'AdminLTE/dist/css/AdminLTE.min.css',
bowerPath + 'AdminLTE/dist/css/skins/skin-black-light.css',
bowerPath + 'iCheck/skins/flat/blue.css',
bowerPath + 'morris.js/morris.css',
bowerPath + 'AdminLTE/plugins/jvectormap/jquery-jvectormap-1.2.2.css',
bowerPath + 'bootstrap-datepicker/dist/css/bootstrap-datepicker3.min.css',
];
fs.access(cssPath + '000-processed.css', function(err) {
// if libraries are already combined I don't neet to do it again
if (!err) {
console.log('I will *NOT* combine pre-compiled CSS.');
return;
}
console.log('I will combine pre-compiled CSS.');
mix.combine(cssLibraries, cssPath + '000-processed.css');
});
mix.sass('**', cssPath + '001-sass.css');
});
的mix.combine()函數永遠不會執行,但組合是一個有效的對象並執行的console.log功能。
有人可以告訴我,如果這是一個有效的策略,爲什麼它不工作?
嘗試過各種各樣的東西,這似乎是讓事情順利進行的唯一方法......狡猾,但工作完成! – Jiedara