|
阅读:8851回复:0
gulp 中del() 使用问题 ——— Error: EEXIST: file already exists图片:del使用.png
代码如上:写了一个reBuild任务,用于重新生成; 即:先删除以前的文件(使用node 中del模块),然后在执行"build"任务。 在测试过程中,发现第一次运行没有问题,第二次就要报错。 图片:error.png
错误信息:Error: EEXIST: file already exists, mkdir 'e:\guoxinan\classproject\class131\gulp\day01\dist\js' at Error (native) 错误分析: 根据错误来看,路径已经存在,一直在找如何写路径。查了很多的资料,最后,发现不是路径问题,是del模块在删除时,没有写return关键字,导致的 方案: 在del 前加上return ,问题就解决了。 为什么呢? 原因: del是一个独立包,在执行删除dist文件夹 del(["./dist/**"]), 它是一个异步的操作 而且返回的是Promise;而且根据async-task-support,我们知道,只有return之后,其他依赖了myDelete的任务,才能保证执行顺序,否则可能del还没有删除完东西,下一个依赖了myDelete的任务就开始了。 这也是为什么我们在使用gulp时,要使用return关键字的原因 参考:https://segmentfault.com/q/1010000006124038 |
|
|
