我想使用Visual Studio Code任务编译我的Stylus文件,但该命令需要stdin / stdout重定向(使用<
和>
):
stylus --compress < main.styl > main.css
这不起作用,因为行为似乎与shell不同。
{
"version": "0.1.0",
"tasks": [
{
"taskName": "styles",
"isBuildCommand": true,
"isShellCommand": true,
"echoCommand": true,
"command": "stylus",
"args": [
"--compress",
"<",
"main.styl",
">",
"main.css"
]
}
]
}
running command$ stylus --compress < main.styl > main.css
/usr/local/lib/node_modules/stylus/bin/stylus:641
if (err) throw err;
^
Error: ENOENT: no such file or directory, stat '<'
答案 0 :(得分:0)
据我所知,无法从here描述的任务模式中重定向stdin和stdout。
要执行重定向,您将需要编写一个小的实用程序,该实用程序接受可执行文件的名称,输入文件,输出文件以及任何其他参数。然后,此实用程序EXE文件将执行您的“手写笔”,将其输入和输出重定向到在实用程序可执行文件上指定的文件。如果您的实用程序EXE文件名为redirect.exe
,则命令行为
redirect.exe stylus.exe main.styl main.css --compress
您的task.json将如下所示:
…
"command": "redirect.exe",
"args": [
"stylus.exe", "main.styl", "main.css", "--compress", "--etc"
]