Gulp在Mac与Windows上使用的区别

-前言-

在写自己的个人网站用到了Gulp,因为会切换Windows与Mac操作系统,发现了其中的一些坑,就此分享也做一下记录。

-正文-

原文链接: Gulp在Mac与Windows上使用的区别.
目前我自己使用的是Gulp4。

dest方法的区别

在调用gulp.dest方法上,Mac与Windows上存在区别。首先贴一段我压缩js的代码来感受一下。

function minifyJs(relativePath){
    let destPath = os.platform() == "darwin" ? path.parse(relativePath.replace(/bin/,"release")).dir : "release";
    let combined = combiner.obj([
        gulp.src(relativePath),
        uglify(),
        gulp.dest(destPath)
    ]);
    combined.once("error",()=>{
        gulp.src(relativePath)
        .pipe(gulp.dest(destPath));
    });
}

上面代码中darwin字符就是MacOS操作系统的标识符。Windows与Mac的dest方法都只接收目录,首先看下面一段代码

gulp.src("xx/xx.js")
gulp.dest("xx/xx.js")
//dest中虽然传入了看着像一个名为xx的js文件,但是在解析时还是将xx.js当作一个目录对待。

接着说,在Windows下向dest方法传入的目录path最终会将文件放到path + src中的路径所拼接。假设xx.js在xx/xx.js下,dest指向oo目录,最终xx.js的路径为oo/xx/xx.js。
在Mac上则不同,Mac上dest需要传入xx.js放到的具体目录之下。

//mac
gulp.src("xx/xx.js")
gulp.dest(oo)//xx.js路径:oo/xx.js
//windows
gulp.src("xx/xx.js")
gulp.dest(oo)//xx.js路径:oo/xx/xx.js
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值