azure - npm 任务未在 Azure 管道中创建 node_modules 文件夹

标签 azure npm azure-pipelines node-modules quill

这不是一个节点项目,而是一个 MVC Web 应用程序。目标是通过 Azure 管道中的 npm 步骤捆绑 Quill.js 库。

问题:管道中未生成包含所需代码和依赖项的 node_modules 文件夹。

package.json 的配置使得仅使用“npm install”在新位置本地部署解决方案将重新创建包含所有所需文件和依赖项的 node_modules 文件夹,以便一切正常运行。

但是,通过 Azure Pipeline 任务复制此过程时遇到问题。未创建包含所需内容的 node_modules 文件夹。已经做了一些实验,但以下是对我来说最有意义的顺序:

使用 NuGet NuGet Restore
VsTest – 测试组件
使用节点 8.x
npm install(任务设置为在 package.json 所在的同一项目文件夹中运行)
构建解决方案
其他几个任务...

package.json 看起来像这样...

{
  ...
     ,
  "dependencies": {
    "quill": "^1.3.7"
  }
}

但是node_modules并没有像在本地那样被创建。

感谢您的任何建议。

最佳答案

找到了解决方案。错误地识别了问题。事实证明,node_modules 文件夹实际上是由构建机器上的 npm 加载的,但构建解决方案并未选取要包含在工件中的文件夹或其内容。

在此博客文章中找到的答案:

https://blogs.perficient.com/2016/08/11/how-to-add-gulp-output-or-bowernpm-packages-to-webdeploy-package/

解决方案是手动编辑项目文件以添加自定义构建目标,将以下内容添加到包含 package.json 的项目的 csproj 文件中。

  <Target Name="AddNpmOutput">
    <ItemGroup>
      <_CustomFiles Include="node_modules\**\*" />
      <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
        <DestinationRelativePath>node_modules\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>
  <PropertyGroup>
    <CopyAllFilesToSingleFolderForPackageDependsOn>
      AddNpmOutput;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForPackageDependsOn>
    <CopyAllFilesToSingleFolderForMsdeployDependsOn>
      AddNpmOutput;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForMsdeployDependsOn>
  </PropertyGroup>

关于azure - npm 任务未在 Azure 管道中创建 node_modules 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59868812/

相关文章:

security - NPM 安装是否在沙箱中运行?

javascript - 启动 npm 时出错?

.net-core - VSTS Visual Studio 设置环境变量测试项目

azure-devops - 将 WiX 工具集 -> Torch.exe 与 Azure DevOps Pipeline 结合使用不起作用

azure - 无法删除 Azure Synapse AutoML 需求预测错误 : An invalid value for argument [y] was provided

azure - 使用 Bicep 部署带有电子邮件服务和托管域的 Azure 通信服务时出错

Azure Portal添加可以创建Web应用程序,sql服务器和其他资源的用户

sql-server - 日期之间和基于员工姓名的 SQL 查询

node.js - zsh : command not found: npm

azure - Windows 计算机文件复制 - DevOps 任务和 IP 地址