Скопируйте файлы dist node_module в gulpfile - PullRequest
0 голосов
/ 17 ноября 2018

Я создаю тему 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'))
});
...