【问题标题】:MacOS: Pass filepath into node via cliMacOS:通过 cli 将文件路径传递到节点
【发布时间】:2020-05-15 20:07:54
【问题描述】:

假设我有以下 npm 脚本:

"test": "node $FILE"

如何通过 cli 将绝对路径传递给它?

例子:

FILE="pwd + filename" npm run test

这应该导致:

node /Root/Subfolder/filename

我在 MacOS 上使用 NodeJS 14。

【问题讨论】:

  • 确实不需要设置环境变量。考虑将文件路径作为参数传递。例如; 1)package.json中定义你的脚本为"test": "node"2)然后运行; npm test -- "subfolder/filename" (注意:npm test 命令和文件路径之间的-- 是必需的)。这种方式适用于跨平台,这与您当前接受的仅适用于 *nix 平台(Linux、macOS 等)的答案不同。
  • @RobC 啊,我明白了。我会试试那个。忘记了
  • 当然,我建议的解决方案实际上更类似于您帖子的标题,即“通过 cli 将文件路径传递到节点”,它利用了内置的 npm 功能。而实际上您接受的答案; 1) 在运行npm test 命令之前设置一个名为FILE 的环境变量2) 然后在package.json 中引用该环境变量- 全部使用 bash 功能完成,当然这在使用 cmd 作为默认 shell 而不是 sh 按照 *nix 的 Windows 上会失败。

标签: javascript node.js macos command-line-arguments npm-scripts


【解决方案1】:

例如,您有一个脚本文件,例如./scripts/test.js.

脚本配置如下:

"test": "node ${FILE}"

而且,运行它的命令是:

$ FILE="$(pwd)/scripts/test.js" npm run test

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    • 2012-06-19
    相关资源
    最近更新 更多