我有一个现有的工作项目与gulp工作流程。一切都运行得很好。我一口气用这个:
所以,我决定将它用于我的团队的新项目。我将gulpfile.js
,package.json
复制到新项目文件夹并运行npm install
。一切都像往常一样下载。但是当我尝试运行我的gulp任务时,我遇到了这个错误:
TypeError: Object #<lib$es6$promise$promise$$Promise> has no method 'done'
at DestroyableTransform._transform (E:\www\myproject\node_modules\gulp-less\index.js:68:8)
经过一些测试后,我发现问题实际上是由gulp-wrap
引起的,可以通过以下方式解决:
gulp-wrap
文件夹并覆盖新项目gulp-wrap
用法及其require()起初我认为这是由新版本问题引起的。所以,我在package.json
中专门指定了版本。但是在运行npm install
之后,会出现同样的问题。
因此,当我查看我的gulpfile时,只有一个地方使用gulp-wrap
。
wrap('(function(){"use strict"; <%= contents %>\n})();')
我是否可以在不使用gulp-wrap
的情况下为此进行包装,以避免出现此问题?
答案 0 :(得分:0)
经过一些研究,我发现gulp-insert(https://github.com/rschmukler/gulp-insert)也可以完成这项工作,到目前为止,我没有遇到过gulp-wrap所面临的问题。
可以这样做:
.pipe(insert.wrap('(function(){"use strict";', '\n})();'))