Ошибка проглочения глотка на jquery-ui

Я использую wiredep, чтобы получить все компоненты поставщика и поместить их во временную папку, но когда я добавляю jquery-ui, wiredep дает сбой.

gulpfile.js

gulp.task('build:vendor', ['cleanVendor'], function () {
    var files = require('wiredep')();
    var stream = gulp.src(files.js);
    // ...other code here
});

вывод ошибки:

C:\Dev\node_modules\wiredep\wiredep.js:30
    ('on-error', opts.onError || function(err) { throw new Error(err); })
                                                       ^
Error: Error: jquery-ui is not installed. Try running `bower install` or remove
the component from your bower.json file.
    at C:\Dev\node_modules\wiredep\wiredep.js:30:56
    at C:\Dev\node_modules\wiredep\lib\detect-dependencis.js:149:29
    at forOwn (C:\Dev\node_modules\wiredep\node_modules\lodash\dist\lodash.js:2106:15)
    at Function.forEach (C:\Dev\node_modules\wiredep\node_modules\lodash\dist\lodash.js:3303:9)
    at detectDependencies (C:\Dev\node_modules\wiredep\lib\detect-dependencies.js:34:7)
    at wiredep (C:\Dev\node_modules\wiredep\wiredep.js:70:39)
    at Object.<anonymous> (C:\Dev\gulp\prep.js:16:33)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)

bower.json:

{
  "name": "project",
  "version": "0.0.1",
  "dependencies": {
    "angular-messages": "^1.4.2",
    "angular-aria": "^1.4.2",
    "jquery": "^1.11.3",
    "angular": "^1.4.2",
    "jquery-ui": "1.11.4"
  }
}

Я попытался добавить переопределение в файл bower.json, но результат был тот же.

Странно то, что это работает в оболочке узла. другая, возможно, полезная информация:

  • Visual Studio 2015
  • NodeJS версия: 0.12.2
  • глоток версия: 3.9.0
  • версии wiredep: 2.2.2, 3.0.0-бета (пробовал оба)

1 ответ

Решение

Нашел мою ошибку,

gulp.task('build:vendor', ['cleanVendor'], function () {
    var files = require('wiredep')();
    var stream = gulp.src(files.js);
    // ...other code here
});

должно быть:

gulp.task('build:vendor', ['cleanVendor'], function () {
    var files = require('wiredep')({ directory: 'bowerDirectoryHere'});
    var stream = gulp.src(files.js);
    // ...other code here
});

значение по умолчанию (я не уверен, откуда оно взято) было на один уровень выше. Странная часть заключается в том, что он работает только на jquery-ui, а не на угловых или других.

Другие вопросы по тегам