繁体   English   中英

如何使用 Gulp process.env.NODE_ENV 让 AWS Amplify 在生产模式下构建?

[英]How do I get AWS Amplify to Build in production mode using Gulp process.env.NODE_ENV?

我正在使用具有以下配置的 AWS Amplify:

  1. https://dev.example.com/ - AWS Amplify - 分支 = dev
  2. https://example.com/ - AWS Amplify - 分支 = 主

gulpfile.js我有适用于生产的规则(缩小等使用)

const isProd = process.env.NODE_ENV === 'prod'

这是我的amplify.yaml

version: 1
frontend:
  phases:
    # IMPORTANT - Please verify your build commands
    build: 
      # commands: []
      commands:
        npm run build:$BUILD_ENV
  artifacts:
    # IMPORTANT - Please verify your build output directory
    baseDirectory: /docs
    files:
      - '**/*'
  cache:
    paths: []

我尝试将 prod 应用于 ONLY 大师。 我只希望为 master 应用和运行 prod 模式。 当我运行构建时.. dev 分支显示未缩小的 HTML,生产也是如此。 它正在工作和构建,但 prod 模式没有反映在生产中,因此它没有执行我的 build prod 命令。

我在网上搜索并应用了环境变量并遵循了这个文档,该文档显示了构建过程“https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html”,如下所示:

在此处输入图像描述

仍然无法正常工作。

我遇到了类似的问题。 我不确定这是最优雅的解决方案:

    build:
      commands:
        - if [ "${AWS_BRANCH}" = "master" ]; then echo "master branch"; npm run build; fi
        - if [ "${AWS_BRANCH}" = "dev" ]; then echo "dev branch"; npm run build -- --mode dev; fi

这对我有用,尽管我的堆栈与你的不同。 它可能会引导你走向正确的方向,或帮助他人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM