gpt4 book ai didi

npm - 在 npm 脚本中输出到命令行?

转载 作者:行者123 更新时间:2023-12-04 11:42:55 25 4
gpt4 key购买 nike

我的 package.json 中有一个带有以下代码的脚本:

 "scripts": {
"build": "postcss tailwind/tailwind.css -o css/cenic.tailwind.css",
"watch": "postcss tailwind/tailwind.css -o css/cenic.tailwind.css --watch"
},

它工作正常 - 但我如何让它将文本输出到命令行,比如
script ran at {{ date(now) }}

换句话说,我想在脚本运行时看到通知。

最佳答案

跨平台(Windows/Linux/macOS...)
您可以执行以下操作来记录脚本开始其任务时的日期/时间:

"build": "node -e \"console.log('script started at: %s', Date())\" && postcss tailwind/tailwind.css -o css/cenic.tailwind.css"
解释:
  • &&左侧的部分读取操作符;
    node -e \"console.log('script started at: %s', Date())\"
  • 利用 nodejs 命令行选项 -e 评估内联 JavaScript。
  • 内联脚本使用 JavaScript 的 console.log(...) Date() .

  • &&右侧的命令运算符是您想要运行的任何命令,在您的场景中它是 postcss命令。

  • 变化:
  • 要为日志着色,您可以添加一些 ANSI/VT100 Control sequences .例如:
    "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"
  • 要记录 npm 脚本何时完成而不是启动,您可以切换命令的顺序。例如:
    "build": "postcss tailwind/tailwind.css -o css/cenic.tailwind.css && node -e \"console.log('script completed at: %s', Date())\""

  • 仅限 Nix 平台(Linux/MacOS...)
    如果您只想要一个在 *nix 平台上运行的解决方案,那么您可以执行以下操作:
    "build": "echo \"script started at: $(date)\" && postcss tailwind/tailwind.css -o css/cenic.tailwind.css"
    解释:
  • &&左侧的部分运算符如下:
    echo \"script started at: $(date)\"
  • 利用 shell echo 命令将消息打印到命令行。
  • Command substitution ,即 $(...)部分,用于获取 shell 的输出 date 命令。

  • &&右侧的命令运算符是您想要运行的任何命令,在您的场景中它是 postcss命令。

  • 如果您想将视觉样式应用于 echo命令请引用我的回答 here

    关于npm - 在 npm 脚本中输出到命令行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59413572/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com