Я создаю тему WordPress с помощью Bootstrap, в которой я использую npm для управления используемой версией начальной загрузки.
Поскольку в WordPress рекомендуется ставить сценарии в очередь, мне нужен метод, позволяющий скопировать файл Bootstraps node_modules dist js в мою тему для постановки в очередь.
В настоящее время я обращаюсь к файлу путем обхода структуры файла. Есть ли более надежный метод получения пути к папке node_modules, который будет работать, если изменится древовидная структура?
/* --- Vendor js compile --- */
gulp.task('vendor-js', function() {
return gulp.src('../../../node_modules/bootstrap/dist/js/bootstrap.bundle.js')
.pipe(newer(folder.src + 'js/vendor'))
.pipe(gulp.dest(folder.src + 'js/vendor'))
});
EDIT:
С тех пор я изменил свои настройки, чтобы определить переменную в начале gulpfile, это означает, что мне нужно будет изменить ее только один раз, но она не так динамична, как я бы надеялся.
/* --- Folders --- */
const
folder = {
src: 'src/',
dist: 'dist/',
root: '../../../' // This is relative to the project root from the gulpfile
};
/* --- Libraries to include --- */
const
vendor = [
folder.root + 'node_modules/bootstrap/dist/js/bootstrap.bundle.js',
folder.root + 'node_modules/rellax/rellax.js'
];
/* --- Vendor js compile --- */
gulp.task('vendor-js', function() {
return gulp.src(vendor)
.pipe(newer(folder.src + 'js/vendor'))
.pipe(gulp.dest(folder.src + 'js/vendor'))
});