У меня есть несколько задач Gulp
для выполнения типичных действий clean
, build
, release
для веб-сайта. Ничего особенного в моем сознании. (На самом деле он очень похож на скелет Aurelia TypeScript.)
Большая часть команды делает front-end разработку с помощью Gulp
из командной строки PowerShell/Command и редактирования с помощью VS Code/Sublime. Некоторые из команд делают то же самое с помощью Visual Studio 2015.
Запуск задачи build
из командной строки работает очень хорошо, но если мы запустим ее из Visual Studio Task Runner Explorer, это приведет к ошибке.
Однако выполнение других задач (например, clean
) отлично работает как в командной строке, так и в проводнике запуска VS.
Интересно, что проводник Task Runner даже выводит копию процесса, который он вызывает для запуска задачи. Если я скопирую эту точную команду (см. Ниже) и запустив ее в командной строке, она выдаст ошибку не. Это происходит только при запуске из Project Runner Explorer и только одна задача.
Здесь строка командной строки задачи и связанная с ней ошибка выводится из Проводника задач:
cmd.exe /c gulp -b "D:\Development\xxxx\WebSite" --color --gulpfile "D:\Development\xxxx\WebSite\Gulpfile.js" build
[20:40:42] Using gulpfile D:\Development\xxxx\WebSite\Gulpfile.js
[20:40:42] Starting 'build'...
[20:40:42] Starting 'clean'...
[20:40:42] Finished 'clean' after 5.74 ms
[20:40:42] Starting 'build-system'...
[20:40:42] Starting 'build-html'...
[20:40:42] Starting 'build-css'...
[20:40:42] Finished 'build-css' after 31 ms
[20:40:43] Finished 'build-html' after 162 ms
D:\Development\xxxx\WebSite\node_modules\gulp-tsb\lib\builder.js:153
var newLastBuildVersion = new Map();
^
ReferenceError: Map is not defined
at Object.build (D:\Development\xxxx\WebSite\node_modules\gulp-tsb\lib\builder.js:153:39)
at Stream.<anonymous> (D:\Development\xxxx\WebSite\node_modules\gulp-tsb\lib\index.js:40:22)
at _end (D:\Development\xxxx\WebSite\node_modules\through\index.js:65:9)
at Stream.stream.end (D:\Development\xxxx\WebSite\node_modules\through\index.js:74:5)
at DestroyableTransform.onend (D:\Development\xxxx\WebSite\node_modules\readable-stream\lib\_stream_readable.js:545:10)
at DestroyableTransform.g (events.js:180:16)
at DestroyableTransform.emit (events.js:117:20)
at endReadableNT (D:\Development\xxxx\WebSite\node_modules\readable-stream\lib\_stream_readable.js:960:12)
Process terminated with code 8.
at afterTick (D:\Development\xxxx\WebSite\node_modules\process-nextick-args\index.js:18:8)
at process._tickCallback (node.js:419:13)
Мой Google-Fu оказался пустым в сообщении об ошибке/трассировке стека или связанных с ней поисковых запросах.
Что дает?
UPDATE: согласно @josh-graham, версия Node, вызываемая VS, приведена ниже.
[10:12:48] Starting 'clean'...
Version: v0.10.31
[10:12:48] Finished 'clean' after 42 ms