【问题标题】:Is there an way to run a command into terminal that linked to package.json?有没有办法在链接到 package.json 的终端中运行命令?
【发布时间】:2021-05-06 21:45:32
【问题描述】:

任务

构建一个程序来分析假设菜单计划日历应用的应用使用数据。在任何一天,用户都可以计划多餐,每餐可能有多道菜。您构建的程序将分析用户对应用的参与度

数据

在 ./data 文件夹中,你会发现一堆 userId.json 格式的文件。它们包含大量用户的应用数据。检查时结构应该是相当明显的。

输出

./dist/run active 2016-09-01 2016-09-08 应该产生一个列表 在指定期间“活动”的逗号分隔的用户 ID 期间,“活跃”意味着他们至少吃了 5 顿饭。

./dist/run superactive 2016-09-01 2016-09-08 应该生成一个列表 逗号分隔的用户 ID 在 指定期间,这意味着他们吃了超过 10 顿饭。

./dist/run bored 2016-09-01 2016-09-08 应该产生一个列表 在指定期间“无聊”的逗号分隔的用户 ID 时期,这意味着它们在前一个时期是“活跃的”,但 在指定时间段内没有达到“活跃”阈值。

注意:我刚刚添加了任务和数据部分,以便更好地了解我被要求执行的任务。我怎样才能在package.json 中添加一些东西(一些脚本),只要在终端上运行以上三个命令(例如./dist/run active 2016-09-01 2016-09-08),它就会为我完成剩下的工作。

【问题讨论】:

    标签: javascript node.js npm package.json npm-scripts


    【解决方案1】:

    你可以在 package.json 中定义脚本。

      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "static": "some comand"
      },
    

    然后您可以输入npm run static。之后,它将在当前目录中运行一些命令

    【讨论】:

      【解决方案2】:

      如果我理解正确,您想在 package.json 中运行一个脚本,该脚本执行 ./dist/run active 2016-09-01 2016-09-08(或其他 2 个脚本中的任何一个)以及其他命令。

      此答案假设您运行 bash 环境,例如 Linux、MacOS 或 WSL(适用于 Linux 的 Windows 子系统)

      一个想法是将您的执行放在每个流的Shell 脚本中(例如active),然后在package.json 上将每个命令作为单独的命令。像这样的:

      文件active.sh

      #!/usr/bin/env bash
      
      ./dist/run active 2016-09-01 2016-09-08
      
      echo "Put some other logic here as well"
      

      文件package.json

      ...
      {
        "scripts": {
          "active": "./active.sh"
        }
      }
      ...
      

      注意

      确保您的.sh 文件具有正确的执行权限

      chmod +x ./active.sh
      

      注2

      .sh 文件上的#!/usr/bin/env bash 称为Shebang (or hash bang)


      最后,您可以执行以下操作:

      npm run active
      

      并为您的其他脚本重复该过程。

      【讨论】:

        猜你喜欢
        • 2020-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-18
        • 2017-04-10
        • 1970-01-01
        • 2021-08-22
        • 2011-12-16
        相关资源
        最近更新 更多