我有一个gulpfile.js:
//
// Variables ===================================
//
// Load dependencies
const autoprefixer = require('gulp-autoprefixer');
const browsersync = require('browser-sync').create();
const cached = require('gulp-cached');
const cssnano = require('gulp-cssnano');
const del = require('del');
const fileinclude = require('gulp-file-include');
const gulp = require('gulp');
const gulpif = require('gulp-if');
const npmdist = require('gulp-npm-dist');
const replace = require('gulp-replace');
const sass = require('gulp-sass');
const uglify = require('gulp-uglify');
const useref = require('gulp-useref-plus');
// Define paths
const paths = {
base: {
base: {
dir: './'
},
node: {
dir: './node_modules'
},
packageLock: {
files: './package-lock.json'
}
},
dist: {
base: {
dir: './dist'
},
libs: {
dir: './dist/assets/libs'
}
},
src: {
base: {
dir: './src',
files: './src/**/*'
},
css: {
dir: './src/assets/css',
files: './src/assets/css/**/*'
},
html: {
dir: './src',
files: './src/**/*.html',
},
img: {
dir: './src/assets/img',
files: './src/assets/img/**/*',
},
js: {
dir: './src/assets/js',
files: './src/assets/js/**/*'
},
partials: {
dir: './src/partials',
files: './src/partials/**/*'
},
scss: {
dir: './src/assets/scss',
files: './src/assets/scss/**/*',
main: './src/assets/scss/*.scss'
},
tmp: {
dir: './src/.tmp',
files: './src/.tmp/**/*'
}
}
};
//
// Tasks ===================================
//
gulp.task('browsersync', function(callback) {
browsersync.init({
server: {
baseDir: [paths.src.tmp.dir, paths.src.base.dir, paths.base.base.dir]
},
});
callback();
});
gulp.task('browsersyncReload', function(callback) {
browsersync.reload();
callback();
});
gulp.task('watch', function() {
gulp.watch(paths.src.scss.files, gulp.series('scss'));
gulp.watch([paths.src.js.files, paths.src.img.files], gulp.series('browsersyncReload'));
gulp.watch([paths.src.html.files, paths.src.partials.files], gulp.series('fileinclude', 'browsersyncReload'));
});
gulp.task('scss', function() {
return gulp
.src(paths.src.scss.main)
.pipe(sass().on('error', sass.logError))
.pipe(autoprefixer({
browsers: ['> 1%']
}))
.pipe(gulp.dest(paths.src.css.dir))
.pipe(browsersync.stream());
});
gulp.task('fileinclude', function(callback) {
return gulp
.src([
paths.src.html.files,
'!' + paths.src.tmp.files,
'!' + paths.src.partials.files
])
.pipe(fileinclude({
prefix: '@@',
basepath: '@file',
indent: true
}))
.pipe(cached())
.pipe(gulp.dest(paths.src.tmp.dir));
});
gulp.task('clean:tmp', function(callback) {
del.sync(paths.src.tmp.dir);
callback();
});
gulp.task('clean:packageLock', function(callback) {
del.sync(paths.base.packageLock.files);
callback();
});
gulp.task('clean:dist', function(callback) {
del.sync(paths.dist.base.dir);
callback();
});
gulp.task('copy:all', function() {
return gulp
.src([
paths.src.base.files,
'!' + paths.src.partials.dir, '!' + paths.src.partials.files,
'!' + paths.src.scss.dir, '!' + paths.src.scss.files,
'!' + paths.src.tmp.dir, '!' + paths.src.tmp.files,
'!' + paths.src.js.dir, '!' + paths.src.js.files,
'!' + paths.src.css.dir, '!' + paths.src.css.files,
'!' + paths.src.html.files,
])
.pipe(gulp.dest(paths.dist.base.dir));
});
gulp.task('copy:libs', function() {
return gulp
.src(npmdist(), { base: paths.base.node.dir })
.pipe(gulp.dest(paths.dist.libs.dir));
});
gulp.task('html', function() {
return gulp
.src([
paths.src.html.files,
'!' + paths.src.tmp.files,
'!' + paths.src.partials.files
])
.pipe(fileinclude({
prefix: '@@',
basepath: '@file',
indent: true
}))
.pipe(replace(/href="(.{0,10})node_modules/g, 'href="$1assets/libs'))
.pipe(replace(/src="(.{0,10})node_modules/g, 'src="$1assets/libs'))
.pipe(useref())
.pipe(cached())
.pipe(gulpif('*.js', uglify()))
.pipe(gulpif('*.css', cssnano({svgo: false})))
.pipe(gulp.dest(paths.dist.base.dir));
});
gulp.task('build', gulp.series(gulp.parallel('clean:tmp', 'clean:packageLock', 'clean:dist', 'copy:all', 'copy:libs'), 'scss', 'html'));
gulp.task('default', gulp.series(gulp.parallel('fileinclude', 'scss'), gulp.parallel('browsersync', 'watch')));
当我运行gulp时,开始工作localhost服务器,所有工作和显示-完美。但是,当我从“ dist”文件夹中获取文件并尝试将其上传到实时服务器时,我没有相同的结果。一切都非常非常糟糕。并显示其他内容。
您能帮我如何在gulpfile.js中配置“ dist”文件夹吗?