I have my Gulp functions broke out into multiple files. I have my separate files under a folder called 'Gulp' (variables.js and functions.js) and have my gulp file as below. With the Hub registry it will find all the files to process.
My package.json
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"gulp": "^4.0.2",
"gulp-concat": "2.6.1",
"gulp-cssmin": "0.2.0",
"gulp-hub": "4.2.0",
"gulp-sass": "4.0.2",
"gulp-uglify": "3.0.2"
},
"dependencies": {
"bootstrap": "5.1.1",
"bootstrap-select": "1.13.12",
"bootstrap4-toggle": "3.6.1",
"bootstrap-datepicker": "1.9.0",
"datatables.net-bs4": "1.10.20",
"datepicker-bootstrap": "^1.9.13",
"font-awesome": "4.7.0",
"jquery": "3.6.0",
"jquery-validation": "1.19.3",
"jquery-validation-unobtrusive": "3.2.12",
"opensans-webkit": "1.1.0",
"popper.js": "1.16.1"
}
}
gulpfile.js
'use strict';
var gulp = require('gulp');
var HubRegistry = require('gulp-hub');
/* load some files into the registry */
var hub = new HubRegistry(['Gulp/*.js']);
/* tell gulp to use the tasks just loaded */
gulp.registry(hub);
variable.js
// #region Root Paths
var paths = {
webroot:
"./wwwroot/",
nodeModules:
"./node_modules/"
};
// #endregion
// JavaScript files
var js = {
// jQuery
jQuery:
paths.nodeModules + "jquery/dist/jquery.js",
jQuery_min:
paths.nodeModules + "jquery/dist/jquery.min.js",
// more js files below ...
}
// Css/Scss files
var css = {
// Bootstrap
bootstrap:
paths.nodeModules + "bootstrap/dist/css/bootstrap.css",
bootstrap_min:
paths.nodeModules + "bootstrap/dist/css/bootstrap.min.css",
// more css files below ...
}
// Font files
var fonts = {
OpenSans: paths.nodeModules + "opensans-webkit/fonts/*.woff*",
FontAwesome: paths.nodeModules + "font-awesome/fonts/*.*"
};
// Folder locations
var folders = {
jsFolder:
paths.webroot + "js/",
cssFolder:
paths.webroot + "css/",
fontFolder:
paths.webroot + "fonts/"
//paths.webroot + "uploads/files/styles-library/fonts/"
};
// Output filenames
var filenames = {
prod_VendorJs:
"vendor.min.js",
prod_VendorCss:
"vendor.min.css"
}
module.exports = {
js: js,
css: css,
fonts: fonts,
folders: folders,
filename: filenames
};
function.js
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var sass = require('gulp-sass');
var cssmin = require('gulp-cssmin');
var variables = require('./variables');
var js = variables.js;
var css = variables.css;
var fonts = variables.fonts;
var folder = variables.folders;
var filename = variables.filename;
// Doing gulp tasks below