4mi*_*ori 5 command-line-interface npm package.json
我的 package.json 中有一个带有以下代码的脚本:
"scripts": {
"build": "postcss tailwind/tailwind.css -o css/cenic.tailwind.css",
"watch": "postcss tailwind/tailwind.css -o css/cenic.tailwind.css --watch"
},
Run Code Online (Sandbox Code Playgroud)
它工作正常 - 但我如何让它将文本输出到命令行,比如
script ran at {{ date(now) }}
Run Code Online (Sandbox Code Playgroud)
换句话说,我想在脚本运行时看到通知。
您可以执行以下操作来记录脚本开始其任务时的日期/时间:
"build": "node -e \"console.log('script started at: %s', Date())\" && postcss tailwind/tailwind.css -o css/cenic.tailwind.css"
Run Code Online (Sandbox Code Playgroud)
&&运算符左侧读取的部分;
node -e \"console.log('script started at: %s', Date())\"
Run Code Online (Sandbox Code Playgroud)
&&运算符右侧的命令是您要运行的任何命令,在您的场景中它是postcss命令。
要为日志着色,您可以添加一些ANSI/VT100 控制序列。例如:
"build": "node -e \"console.log('%sscript started at: %s%s', '\\x1b[42;30m', Date(), '\\x1b[0m' )\" && postcss tailwind/tailwind.css -o css/cenic.tailwind.css"
Run Code Online (Sandbox Code Playgroud)
要记录 npm 脚本何时完成而不是启动,您可以切换命令的顺序。例如:
"build": "postcss tailwind/tailwind.css -o css/cenic.tailwind.css && node -e \"console.log('script completed at: %s', Date())\""
Run Code Online (Sandbox Code Playgroud)
如果您只想要一个在*nix平台上运行的解决方案,那么您可以执行以下操作:
"build": "echo \"script started at: $(date)\" && postcss tailwind/tailwind.css -o css/cenic.tailwind.css"
Run Code Online (Sandbox Code Playgroud)
&&运算符左侧的部分显示:
echo \"script started at: $(date)\"
Run Code Online (Sandbox Code Playgroud)
&&运算符右侧的命令是您要运行的任何命令,在您的场景中它是postcss命令。
如果您想对echo命令应用视觉样式,请参考我的回答here
| 归档时间: |
|
| 查看次数: |
1930 次 |
| 最近记录: |