我有一个使用 gulp 工作流的现有工作项目。一切运行良好。我的 gulp 使用这个:
- 浏览器同步@2.0.1
- gulp@3.8.11
- gulp-angular-templatecache@1.5.0
- gulp-autoprefixer@2.1.0
- gulp-concat@2.4.3
- gulp-less@2.0.3
- gulp-minify-css@0.3.13
- gulp-minify-html@0.1.8
- gulp-rename@1.2.0
- gulp-sourcemaps@1.3.0
- gulp-uglify@1.1.0
- gulp-util@3.0.3
- gulp-watch@4.1.1
- 吞咽包装@0.10.1
- 极简主义@1.1.0
所以,我决定在我的团队的新项目中使用它。我复制到新的项目文件夹并gulpfile.js
运行。一切都照常下载。但是当我尝试运行我的 gulp 任务时,我遇到了这个错误:package.json
npm install
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
从旧项目复制文件夹并覆盖新项目- 从 gulpfile.js 中注释掉/删除所有
gulp-wrap
用法以及它的 require()
一开始我以为是新版本问题造成的。所以,我在package.json
. 但是运行之后npm install
,同样的问题出现了。
所以,当我查看我的 gulpfile 时,只有一个地方使用gulp-wrap
.
wrap('(function(){"use strict"; <%= contents %>\n})();')
无论如何我可以为此进行包装而不使用gulp-wrap
以避免发生该问题吗?