首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出到npm脚本中的命令行?

输出到npm脚本中的命令行?
EN

Stack Overflow用户
提问于 2019-12-19 16:27:53
回答 1查看 5.1K关注 0票数 12

我的package.json中有一个脚本,代码如下:

代码语言:javascript
复制
"scripts": {
    "build": "postcss tailwind/tailwind.css -o css/cenic.tailwind.css",
    "watch": "postcss tailwind/tailwind.css -o css/cenic.tailwind.css --watch"
}

效果很好。但是如何让它输出到命令行的文本,比如

代码语言:javascript
复制
script ran at {{ date(now) }}

换句话说,当脚本运行时,我希望看到通知。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-20 09:41:00

跨平台(Windows/Linux/macOS.)

您可以执行以下操作来记录脚本开始其任务的日期/时间:

代码语言:javascript
复制
"build": "node -e \"console.log('script started at: %s', Date())\" && postcss tailwind/tailwind.css -o css/cenic.tailwind.css"

解释:

  1. &&操作符左侧读取的部分; 节点-e \“console.log(‘脚本启动于:%s',Date())\”
代码语言:javascript
复制
- utilizes Node.js command line option [`-e`](https://nodejs.org/api/cli.html#cli_e_eval_script) to evaluate the inline JavaScript.
- The inline script utilizes JavaScript's `console.log(...)` and [`Date()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date).
  1. &&操作符右侧的命令是您想要运行的任何命令,在您的场景中是postcss命令。

变体:

  • 要对日志进行着色,可以添加一些ANSI/VT100 100控制序列。例如: “构建”:“节点-e \"console.log('%sscript开始于:%s%s','\x1b[42;30m',Date(),'\x1b[0m‘)\\& postcss顺风/尾风/css -o css/cenic.口-o.css”
  • 要在npm脚本完成而不是启动时进行日志记录,可以切换命令的顺序。例如: “构建”:“后置顺风/尾风/css -o css/cenic.tail.css && node -e \”console.log(‘脚本完成于:%s',Date()\\“

仅限Nix平台(Linux/MacOS.)

如果您只想要一个运行在*nix平台上的解决方案,那么您可以执行以下操作:

代码语言:javascript
复制
"build": "echo \"script started at: $(date)\" && postcss tailwind/tailwind.css -o css/cenic.tailwind.css"

解释:

  1. &&操作符左侧读取的部分: “脚本启动于:$(日期)\”
代码语言:javascript
复制
- utilizes the shells [`echo`](https://ss64.com/bash/echo.html) command to print the message to the command line.
- [Command substitution](https://www.gnu.org/software/bash/manual/html_node/Command-Substitution.html), i.e. the `$(...)` part, is utilized to obtain the output from the shells [`date`](https://ss64.com/bash/date.html) command.
  1. &&操作符右侧的命令是您想要运行的任何命令,在您的场景中是postcss命令。

如果要将可视化样式应用于echo命令,请参阅我的答案这里

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59413572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档