Глобус Node.js включает / исключает файлы
Это мой текущий код для копирования соответствующих файлов из моего источника в мою директорию сборки. Это не работает, как ожидалось
return gulp.src([
'src/**/*',
'!src/**/*(*.sass|*.scss|*.js)',
'!src/(components|config|elements|less|sass|scss|platforms)',
'src/console.js',
'src/cordova.js',
'src/config.xml',
]).pipe(plugins.copy("www", {prefix: 1}));
Моя идея заключается в следующем:
- Выбрать все файлы и папки в src
- Удалите все файлы js и sass, потому что они скомпилированы / concat / minified и скопированы для создания другой задачи
- Однако console.js и cordova.js должны быть скопированы, поэтому я хочу включить их в глобус
Ну, я думал, что порядок элементов в globArray является приоритетом или чем-то таким, что, например, console.js будет повторно включено после его фильтрации. Это не так:(
Что я могу сделать?
1 ответ
Таким образом, реальная проблема, с которой вы сталкиваетесь, - это отсутствие возможности "отлаживать" или "проверять" то, что в настоящее время обрабатывается в потоке gulp. В моем рабочем процессе два незаменимых плагина gulp, помогающие понять, что происходит:
- Глоток-Util
глоток переименование
var gutil = require('gulp-util'); var rename = require('gulp-rename');
Теперь попробуйте добавить этот фрагмент кода в ваш пример следующим образом:
var gutil = require('gulp-util');
var rename = require('gulp-rename');
.....
return gulp.src([
'src/**/*',
'!src/**/*(*.sass|*.scss|*.js)',
'!src/(components|config|elements|less|sass|scss|platforms)',
'src/console.js',
'src/cordova.js',
'src/config.xml',
]).pipe(rename(function(filepath) {
gutil.log(filepath.basename);
})).pipe(plugins.copy("www", {prefix: 1}));
Затем все, что вам нужно сделать, это посмотреть на вывод в ваших журналах, чтобы увидеть, какие файлы обрабатываются, и затем соответствующим образом обновить свою глобализацию.
Кроме того, вам лучше проверить свои пути один за другим или парами, чтобы увидеть, что вы на правильном пути, и поэтому вы не перегружены, когда все шары не работают должным образом. Выделите глобальную проблему и обновите ее соответствующим образом.
Также просто подсказка, чтобы вы были на правильном пути, этот шар:
'!src/**/*(*.sass|*.scss|*.js)'
должно быть:
'!src/**/*.{sass,scss,js}'
Я надеюсь, что это приведет вас на правильный путь!