1

gulp ワークフローを使用した既存の作業プロジェクトがあります。すべてが完全に正常に動作します。私のgulpはこれを使用します:

  • browser-sync@2.0.1
  • gulp@3.8.11
  • gulp-angular-templatecache@1.5.0
  • gulp-autoprefixer@2.1.0
  • gulp-concat@2.4.3
  • 一気飲み@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
  • gulp-wrap@0.10.1
  • minimist@1.1.0

そのため、チームの新しいプロジェクトで使用することにしました。を新しいプロジェクト フォルダにコピーgulpfile.jsして実行します。すべてが通常どおりダウンロードされます。しかし、gulp タスクを実行しようとすると、次のエラーが発生しました。package.jsonnpm 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方法で解決できます。

  1. 古いプロジェクトからフォルダーをコピーしgulp-wrap、新しいプロジェクトをオーバーライドします
  2. gulp-wrapすべての使用法とその require() を gulpfile.js からコメント アウト/削除します。

最初は、新しいバージョンの問題が原因だと思いました。ということで、具体的にはバージョンを明記していますpackage.json。しかし、実行後npm install、同じ問題が発生します。

そのため、gulpfile を調べると、gulp-wrap.

wrap('(function(){"use strict"; <%= contents %>\n})();')

gulp-wrapその問題が発生するのを避けるために、使用せずにこれをラッピングできる方法はありますか?

4

1 に答える 1

0

いくつかの調査の後、gulp-insert ( https://github.com/rschmukler/gulp-insert ) も同様に機能することがわかりました。これまでのところ、gulp-wrap で直面している問題は発生していません。

これを行うことができます:

.pipe(insert.wrap('(function(){"use strict";', '\n})();'))
于 2015-05-16T01:33:28.267 に答える