Php GULP的新功能-是否需要将项目的所有文件从src目录复制到dist目录?
我已经使用Gulp4一个多星期了,以前从未使用过。 下面的代码是我已经玩了一个星期了,所以它将完成我要求的工作。 我的问题是,是否有必要将项目中的每个文件从src复制到dist目录,尤其是在更改时,因为我有60多个php文件,并且在更改时更新每个php文件对我来说并不高效。 首先,需要在更改时将所有项目文件从src复制到dist。 第二,有没有办法只更新src目录中修改过的一个文件? 然而,在过去,我没有考虑过使用自动工具,比如GULP;重点是在开发过程中使用这些工具来节省时间,以及其他有助于实现目标的好处。 作为初学者,需要一些时间来体会这些好处。 如果您看到我给出的代码有任何改进,我们将不胜感激。 亲切的问候Php GULP的新功能-是否需要将项目的所有文件从src目录复制到dist目录?,php,gulp,Php,Gulp,我已经使用Gulp4一个多星期了,以前从未使用过。 下面的代码是我已经玩了一个星期了,所以它将完成我要求的工作。 我的问题是,是否有必要将项目中的每个文件从src复制到dist目录,尤其是在更改时,因为我有60多个php文件,并且在更改时更新每个php文件对我来说并不高效。 首先,需要在更改时将所有项目文件从src复制到dist。 第二,有没有办法只更新src目录中修改过的一个文件? 然而,在过去,我没有考虑过使用自动工具,比如GULP;重点是在开发过程中使用这些工具来节省时间,以及其他有助于实
const gulp = require('gulp');
const php = require('gulp-connect-php');
const sass = require('gulp-sass');
const uglify = require('gulp-uglify');
const lineec = require('gulp-line-ending-corrector');
const browserSync = require('browser-sync').create();
const styleSRC = './src/scss/**/*.scss';
const styleDIST = './dist/css';
const jsSRC = 'src/js/**/*.js';
const jsDIST = './dist/js';
const phpSRC = 'src/php/**/*.php';
const phpDIST = './dist/php';
const htmlSRC = 'src/html/**/*.html';
const htmlDIST = './dist/html';
function style()
{
return gulp.src(styleSRC)
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(gulp.dest(styleDIST))
.pipe(browserSync.stream());
}
function javascript() {
return gulp.src(jsSRC)
.pipe(uglify())
.pipe(lineec())
.pipe(gulp.dest(jsDIST));
}
function phpscript() {
return gulp.src(phpSRC)
.pipe(gulp.dest(phpDIST));
}
function server()
{
php.server({base:'./src/php', port:8010, keepalive:true});
}
function sync()
{
browserSync.init({
proxy: "http://lansdownelions/src/php/login.php",
baseDir: './src/php',
open: true,
notify: false
});
}
function watch()
{
gulp.watch(styleSRC, style);
gulp.watch(jsSRC, javascript);
gulp.watch(jsSRC).on('change', browserSync.reload);
gulp.watch(phpSRC, phpscript);
gulp.watch(phpSRC).on('change', browserSync.reload);
gulp.watch(htmlSRC).on('change', browserSync.reload);
}
exports.style = style;
exports.javascript = javascript;
exports.phpscript = phpscript;
exports.server = server;
exports.sync = sync;
exports.watch = watch;
var build = gulp.parallel(style, javascript, phpscript, sync, server, watch);
gulp.task('default', build);
根据帖子解决了我想要达到的目标。要做到这一点,我所需要做的就是用下面显示的额外代码行更改其中一个函数。 此更改就像一个符咒,并且作为一个好处,dist子文件夹中的文件仅在日期/时间戳不同时才显示为覆盖。当从命令行运行$gulp default时,如果文件没有更改,则在运行时没有文件复制到dist子目录,这样可以节省时间。 我要感谢每一个人的有效贡献,这真的帮助了我在不同领域与gulp。 亲切的问候
//original function code:
function phpscript()
{
return gulp.src(phpSRC)
.pipe(gulp.dest(phpDIST));
}
// changed function code to:
function phpscript()
{
return gulp.src(phpSRC)
.pipe(changed(phpDIST))
.pipe(gulp.dest(phpDIST));
}
根据帖子解决了我想要达到的目标。要做到这一点,我所需要做的就是用下面显示的额外代码行更改其中一个函数。 此更改就像一个符咒,并且作为一个好处,dist子文件夹中的文件仅在日期/时间戳不同时才显示为覆盖。当从命令行运行$gulp default时,如果文件没有更改,则在运行时没有文件复制到dist子目录,这样可以节省时间。 我要感谢每一个人的有效贡献,这真的帮助了我在不同领域与gulp。 亲切的问候
//original function code:
function phpscript()
{
return gulp.src(phpSRC)
.pipe(gulp.dest(phpDIST));
}
// changed function code to:
function phpscript()
{
return gulp.src(phpSRC)
.pipe(changed(phpDIST))
.pipe(gulp.dest(phpDIST));
}
Gulp通常只用于编译前端资产:js、css和图像。在这种情况下,这是必要的,因为您通常会缩小这些资产,并生成manifest.json文件以实现缓存破坏。感谢您的回复。您现在所说的非常有意义,因为php脚本是服务器端的,而不是发送到客户端浏览器。问候您。答案取决于您最终如何将这些文件发送到服务器,以及在开发过程中如何在html中使用它们。您可能希望推迟将所有内容移动到某个
dist
文件夹,直到您准备好将文件上载到服务器。这并不是绝对必要的,但我发现在上传之前更容易获得相关服务器文件夹结构的良好镜像。此外,您应该将var build=gulp.parallel(…)
改为使用series
。例如,在第一次运行时,您希望样式
任务在同步
任务之前完成。不过,只在第一次运行时起作用。Gulp通常只用于编译前端资产:js、css和图像。在这种情况下,这是必要的,因为您通常会缩小这些资产,并生成manifest.json文件以实现缓存破坏。感谢您的回复。您现在所说的非常有意义,因为php脚本是服务器端的,而不是发送到客户端浏览器。问候您。答案取决于您最终如何将这些文件发送到服务器,以及在开发过程中如何在html中使用它们。您可能希望推迟将所有内容移动到某个dist
文件夹,直到您准备好将文件上载到服务器。这并不是绝对必要的,但我发现在上传之前更容易获得相关服务器文件夹结构的良好镜像。此外,您应该将var build=gulp.parallel(…)
改为使用series
。例如,在第一次运行时,您希望样式
任务在同步
任务之前完成。不过,只有在第一次跑步时才重要。