【问题标题】:check if a .env variable is x in npm scripts检查 npm 脚本中的 .env 变量是否为 x
【发布时间】:2018-02-08 11:00:27
【问题描述】:

所以我希望在package.json 中创建一个脚本,如果.env 文件中的ENV 设置为dev 或prod 并且默认情况下-如果没有设置,则该脚本运行start:devstart:prod start:dev 应该运行。

我不确定如何检查 npm 运行脚本中的环境变量。

我想要什么

类似:

if ENV === dev 
  yarn start:dev 
else if ENV === prod 
  yarn start:prod 
else 
  yarn start:dev

有什么想法吗?

【问题讨论】:

    标签: node.js bash npm npm-scripts npm-start


    【解决方案1】:

    这是您正在寻找的if/elif/else: (根据您自己的需要将此示例推断出来)

    #!/usr/bin/env bash
    if [ "$ENV" = "DEV" ]
    then
        echo "Development Mode"
    elif [ "$ENV" = "PROD" ]
    then
        echo "Production Mode"
    else
        echo "ENV : has not been set yet..."
    fi
    

    然后可以使用 package.json scripts 中的 .sh(示例):

    "scripts": {"start": "./checkEnv.sh"}
    

    ...不要忘记权限:chmod +x ./checkEnv.sh

    【讨论】:

    • 虽然这是一个很好的起点,但我不知道你能做到这一点,我该如何调用 start:dev 或 start:prod?我假设我不能从 sh 脚本中调用 npm 脚本? sh 脚本会返回一些东西吗?还是……??
    • @TheWebs :通过将 ENV 变量设置为 DEV 或 PROD,您只需执行 npm start ,它将运行 .sh 并执行匹配条件语句下的任何操作。只需将 echo 更改为 yarn start:dev / yarn start:prod 即可。我希望你现在明白了:)
    猜你喜欢
    • 2021-12-24
    • 2021-09-27
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 2023-04-03
    • 2019-10-20
    相关资源
    最近更新 更多