只是分享我的墨西哥湾
我为这个网站设置的毛毛工程似乎是蓝色的,开始有种族条件。我会运行手表命令,更改一些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中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

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

Dreamweaver CS6
视觉化网页开发工具

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

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

在元素个数不固定的情况下如何通过CSS选择第一个指定类名的子元素在处理HTML结构时,常常会遇到元素个数不�...
