【问题标题】:How to use npm config variables of package.json in npm scripts如何在 npm 脚本中使用 package.json 的 npm 配置变量
【发布时间】:2021-11-12 23:25:27
【问题描述】:

我有一个 npm 项目,我在调用 node.js 时使用了很多标志,所以我的 package.json 脚本有点混乱,像这样:

"scripts": {
        "test": "node --use_strict -r dotenv/config --experimental-vm-modules node_modules/.bin/jest",
        "testwatch": "node --use_strict -r dotenv/config --experimental-vm-modules node_modules/.bin/jest -watchAll",
        "start": "node --use_strict -r dotenv/config --experimental-vm-modules ./src/index"
    },

有没有办法在 package.json 文件的单个参数中指定 node.js 标志,以便同时将其传递给所有脚本?或者,如果您可以给我另一个建议以使这些命令更有条理,那也会很有用。谢谢。

【问题讨论】:

    标签: node.js npm package.json


    【解决方案1】:

    对于这个问题,我只能想到两种解决方案。

    1. 使用 package.json 配置变量
    2. 使用别名

    解决方案 1:

    您可以通过$npm_package_config_<variable-name>访问脚本中的配置变量

    package.json文件

    "config": {
        "testflags": "--use_strict -r dotenv/config --experimental-vm-modules"
    },
    "scripts": {
        "test": "node $npm_package_config_testflags node_modules/.bin/jest"
    }
    

    解决方案 2:

    顺便说一句,我不知道如何在 Windows 机器上执行此操作!!!所以我假设您使用的是 Mac 或 GNU/Linux 操作系统。

    在您的 shellrc 文件中创建一个别名(例如,~/.bashrc 用于 bash,~/.zshrc 用于 zsh 等)。

    在您的 ~/.bashrc~/.zshrc 文件或您拥有的任何 shellrc 文件中添加以下内容。

    alias node_test='node --use_strict -r dotenv/config --experimental-vm-modules'
    

    注意:您必须在此处提供dotev/config 文件的完整路径。要获取config.js 文件的完整路径,请转到dotenv 目录并运行readlink -f config。复制文件的完整路径,替换上面别名中的dotenv/config

    然后通过在终端中运行source ~/.bashrc 保存文件并获取它。

    现在在你的 package.json 文件中:

    "scripts": {
        "test": "node_test node_modules/.bin/jest"
    }
    

    【讨论】:

    • 与我正在寻找的解决方案 1 完全一样。谢谢。
    猜你喜欢
    • 2018-10-17
    • 2016-12-05
    • 2017-05-08
    • 2018-02-23
    • 2018-12-03
    • 2016-03-05
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多