我为这个网站设置的毛毛工程似乎是蓝色的,开始有种族条件。我会运行手表命令,更改一些CSS,并且处理有时会留下一些额外的文件,这些文件本来可以在处理过程中清理。就像清理任务发生在降落在文件系统中的文件之前(或者……我从来没有真正到达底部)。
关于该错误的细节,没关系。我认为我会通过升级物品使用Gulp 4.x而不是3.x并在内置Gulp.Series命令中运行物品来解决它,我认为这会有所帮助(确实如此)。
对我来说,吞噬4.x是一段旅程,涉及我放弃一年,然后重新点击斗争并最终将其修复。我的麻烦是Gulp 4需要2.x的CLI版本,而Gulp 3出于何种原因使用3.x版本。从本质上讲,我需要降级版本,但是在尝试了十亿件事做到这一点之后,似乎没有什么用,就像我的机器上有一个幽灵版CLI 3.x一样。
我敢肯定,Savvier命令行的人本来可以比我更快地解决这个问题,但是事实证明,运行命令-v Gulp会揭示gulp安装位置的文件路径,该文件揭示了/usr/usr/local/local/share/npm/npm/npm/bin/gulp,并从那里手动删除它,然后重新设置最后版本,以使我在最新的版本中获得最新的版本,从而使我获得了最新后退的2.x。
现在,我可以使用Gulp 4.x,我将Gulpfile.js重新归为较小的功能,每个功能都相当孤立。这是我在此站点上的设置非常独特的,因此,这并不是要成为通用用法的一些样板。我只是出版,因为当我创建它时,它肯定对我有帮助。
我的特殊仓库做的事情
- 运行Web服务器(browsersync)以进行样式注入和自动恢复
- 运行一个文件观察器(本机Gulp功能),用于在正确的文件上运行正确的任务并执行上述操作
- CSS处理
- SASS>自动改装器>缩小
- 从模板中折断样式表缓存(例如
- 将style.css放在WordPress主题的正确位置,并清理仅在处理过程中需要的文件
- JavaScript处理
- babel>连接>缩小
- 打破<script> s的浏览器缓存</script>
- 清理处理中创建的未使用的文件
- SVG处理
- 制作一个SVG Sprite( s的块
- 将其命名为sprite.php文件(因此可以在模板中包含php)并将其放置在特定的位置
- PHP处理
- 当广告更改时,将JavaScript中的Ajax调用更新为缓存障碍
代码转储!
const gulp = require(“ gulp”), browsersync = require(“ browser-sync”)。create(), sass = require(“ gulp-sass”), postcss = require(“ gulp-postcss”), autoprefixer = require(“ autoprefixer”), cssnano = require(“ cssnano”), del = require(“ del”), babel = require(“ gulp-babel”), Minify = require(“ Gulp-Minify”), concat = require(“ gulp-concat”), 重命名= require(“ Gulp-rename”), 替换= require(“ Gulp-Replace”), svgsymbols = require(“ gulp-svg-symbols”), svgmin = require(“ gulp-svgmin”); const路径= { 样式:{ src:[“ ./scs/do.scss”,“ ./art-direction/the.scss”], dest:“ ./css/” },, 脚本:{ src:[。 dest:“ ./js/min” },, SVG:{ src:“ ./icons/* .svg” },, PHP:{ src:[。 },, 广告:{ SRC:“ ./ads/* .php” } }; / *样式 */ 功能dostyles(完成){ 返回Gulp.Series(样式,MoveMainStyle,DeleteoldMainStyle,Done => { cachebust(“ ./ header.php”,“ ./”); 完毕(); })(完毕); } 功能样式(){ 返回Gulp .src(paths.Styles.src) .pipe(sass()) .on(“错误”,sass.logerror) 。 .pipe(gulp.dest(paths.styles.dest)) .pipe(browsersync.stream()); } 函数movemainStyle(){ 返回gulp.src(“ ./ css/style.css”)。管道(gulp.dest(“ ./”)); } 函数deleteoldMainStyle(){ 返回del(“ ./ css/style.css”); } / *结束样式 */ / *脚本 */ 功能doscripts(完成){ 返回海湾系列( 预处理, concatjs, minifyjs, deleteartifactjs, 重新加载, 完成=> { cachebust(“ ./ parts/footer-scripts.php”,“ ./parts/”); 完毕(); } )(完毕); } 功能PrepRocessjs(){ 返回Gulp .src(paths.scripts.src) 。管道( babel({ 预设:[“@@babel/env”], 插件:[“@babel/plugin-proposal-class-properties”] })) ) .pipe(gulp.dest(“ ./ js/babel/”)); } 函数concatjs(){ 返回Gulp .src([ “ JS/libs/jquery.lazy.js”, “ js/libs/jquery.fitvids.js”, “ JS/libs/jquery.resizable.js”, “ JS/libs/prism.js”, “ JS/babel/imhimighting-fixes.js”, “ JS/babel/global.js” ))) .pipe(Concat(“ Global-Concat.js”)) .pipe(gulp.dest(“ ./ js/concat/”)); } 功能minifyjs(){ 返回Gulp .src([[“ ./ js/babel/*。JS”,“。 。管道( 缩小({ 分机:{ SRC:“ .js”, 最低:“ .min.js” } })) ) .pipe(gulp.dest(paths.scripts.dest)); } 函数deleteartifactjs(){ 返回del([ “ ./js/babel”, “ ./js/concat”, “ ./js/min/*.js”, “!./ js/min/*。最小 ); } / *结束脚本 */ / * SVG */ 函数dosvg(){ 返回Gulp .src(paths.svg.src) .pipe(svgmin()) 。管道( svgsymbols({ 模板:[“ default-svg”], svgattrs:{ 宽度:0, 身高:0, 显示:“无” } })) ) 。 .pipe(gulp.dest(“ ./”)); } / *结束SVG */ / *通用事物 */ 函数cachebust(src,dest){ var cbString = new Date()。getTime(); 返回Gulp .SRC(SRC) 。管道( 替换( /cache_bust = \ d /g,function(){ 返回“ cache_bust =” cbString; })) ) .pipe(gulp.dest(dest)); } 功能重新加载(完成){ browsersync.reload(); 完毕(); } 函数观察(){ browsersync.init({ 代理:“ csstricks.local” }); Gulp.Watch(paths.Styles.src,dostyles); Gulp.Watch(paths.scripts.src,doscripts); Gulp.Watch(paths.svg.src,dosvg); Gulp.Watch(paths.php.src,reload); gulp.watch(paths.ads.src,done => { cachebust(“ ./ js/global.js”,“ ./js/”); 完毕(); }); } gulp.task(“默认”,手表);
问题 /问题
- 最糟糕的部分是它不会非常明智地打破缓存。当CSS发生变化时,它会打破所有样式表上的缓存,而不仅仅是相关图表。
- 我可能只会在将来使用PHP Include()svg图标,而不是处理弹簧。
- 如果原始SVG具有宽度和高度属性,则SVG处理器会断开,这似乎是错误的。
- 吞噬变化会提高速度吗?如在其中,仅查看已更改的文件而不是所有文件?还是不需要?
- 我应该在Gulpfile.js上重新启动毛吗?
- 如果我使用的所有lib都兼容ES6,那么我可以进口东西而不是必须手动连接,肯定会很好。
总是可以做更多的事情。理想情况下,我只是开源整个网站,我还没有到达那里。
以上是只是分享我的墨西哥湾的详细内容。更多信息请关注PHP中文网其他相关文章!

Wufoo一直在集成方面非常出色。他们与特定应用程序(例如广告系列显示器,MailChimp和Typekit)进行集成,但他们也


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器