До сих пор я использовал gulp для создания typescript и sass файлов, но теперь из-за нескольких новых шагов сборки я хотел бы объединить все и использовать node как одну точку входа (также node для запуска задач gulp через npm run taskName).
tasks.json довольно просто, задача build
должна запускаться npm run watch
:
{
"version": "0.1.0",
"command": "npm",
"isShellCommand": true,
"tasks": [
{
"taskName": "build",
"isBuildCommand": true,
"showOutput": "always",
"isWatching": true,
"args": [
"run", "watch"
]
}
]
}
package.json
"scripts": {
"watch": "gulp default",
}
И вывод:
gulp default build
[14:20:54] Using gulpfile PATH_TO/gulpfile.js
[14:20:54] Task 'build' is not in your gulpfile
[14:20:54] Please check the documentation for proper gulpfile formatting
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "watch" "build"
npm ERR! node v0.12.2
npm ERR! npm v2.7.4
npm ERR! code ELIFECYCLE
npm ERR! [email protected] watch: `gulp default build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] watch script 'gulp default build'.
npm ERR! This is most likely a problem with the 2 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! gulp default build
npm ERR! You can get their info via:
npm ERR! npm owner ls 2
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
Основываясь на выходе, gulp по-прежнему используется даже в том случае, если его нет в tasks.json
(gulpfile.json
существует в корневом каталоге и при поиске решения я обнаружил, что VS Code автоматически обнаруживает его, который, я полагаю, может быть проблемой?). Кроме того, свойство taskName
выглядит как автоматически добавленное к командной строке в качестве аргумента, который неверен.
Небольшой, но рабочий пример (но он все еще работает gulp, поэтому typescript скомпилируется дважды при каждом сохранении):
{
"version": "0.1.0",
"command": "npm",
"isShellCommand": true,
"args": [
"run", "watch"
],
"showOutput": "always"
}
Как я могу выполнять несколько задач с помощью VS Code через npm?