【问题标题】:How to deploy/publish an ASP.NET Core React JS website with a particular .env file?如何使用特定的 .env 文件部署/发布 ASP.NET Core React JS 网站?
【发布时间】:2022-12-11 16:04:28
【问题描述】:

我有一个简单的 ASP.NET Core React JS Web 应用程序。我一直将它直接发布到 Azure 就好了。

最近我介绍了第二个环境(prod vs dev)。

如何使用 .env 将其发布到 Prod,并使用 .env.dev 将其发布到 Dev?

笔记:

  • 我使用 VS Enterprise 构建。
  • 我使用 VS Enterprise 进行部署(右键单击 -> 发布)。
  • 我知道我可以更新 packages.json 中的“脚本”部分。但是我不相信当我从 VS IDE 发布时会调用这个脚本。

也许有办法指定脚本??

例如:build:dev 将使用 .env.development 进行构建,而 build:prod 将使用 .env 进行构建

谢谢

更新

我在 .csproj 文件中找到了这个:

<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
    <!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm run build" />

    <!-- Include the newly-built files in the publish output -->
    <ItemGroup>
      <DistFiles Include="$(SpaRoot)build\**" />
      <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
        <RelativePath>wwwroot\%(RecursiveDir)%(FileName)%(Extension)</RelativePath>
        <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
        <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
      </ResolvedFileToPublish>
    </ItemGroup>
  </Target>

【问题讨论】:

  • 如果我的理解正确,那么您似乎想要做 Azure DevOps、Microsoft CI/CD 管道所做的事情,希望在测试阶段生成工件,在测试完成后,通过所有测试(或批准)移动到暂存然后到生产(再次经批准)。我的例子与你的不同。

标签: reactjs azure visual-studio asp.net-core .env


【解决方案1】:

请查看下面的图片,如果有帮助请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多