gpt4 book ai didi

c# - ASP.NET Core 3.1 与 npm 的集成

转载 作者:行者123 更新时间:2023-12-03 21:58:35 28 4
gpt4 key购买 nike

我正在开发一个 ASP.NET Core 3.1 应用程序并决定使用 npm 来管理前端库,现在它们应该很少,但将来可能会改变。

我看过几个类似的问题,但它们似乎都有些过时了:

How to use NPM and install packages inside Visual Studio 2017?

How to use npm with ASP.NET Core

我打算使用 npm 在 CI 环境中安装所需的库,我记得能够将 npm 命令集成到 dotnet 中,并且想知道是否可行/推荐。

在这个较新版本的 ASP.NET Core 中使用 npm 的推荐方法是什么?

最佳答案

我建议使用 Yarn 有两个原因:

  • 对于您的用例,它是 npm 的替代品。
  • 现有的 Nuget 包 Yarn.MSBuild 将 Yarn 集成到 MSBuild 中。

  • Yarn.MSBuild 允许您在 .csproj 中指定 Yarn commands 。这些命令在您构建项目时运行。例如,要在构建时安装前端包:
  • .csproj 中添加对 Yarn.MSBuild 的引用:

    <ItemGroup>
    <PackageReference Include="Yarn.MSBuild" Version="*" />
    </ItemGroup>
  • 添加 YarnBuildCommand 属性:

    <PropertyGroup>
    <YarnBuildCommand Condition="'$(Configuration)' == 'Release'">install</YarnBuildCommand>
    </PropertyGroup>

  • 在上面的示例中, yarn install 在您在发布配置中构建项目时运行。您专门询问了使用 dotnet 在 CI 中构建的问题 - 通过此设置,当您在 CI 中运行 dotnet build -c Release 时,您的前端包已安装。

    请注意,默认情况下,该命令在您的 .csproj 目录中执行。您可以通过添加 YarnWorkingDir 属性来更改此设置:

    <PropertyGroup>
    <YarnWorkingDir>$(MSBuildProjectDirectory)/wwwroot/</YarnWorkingDir>
    </PropertyGroup>

    关于c# - ASP.NET Core 3.1 与 npm 的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60794367/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com