在 Visual Studio 2019 中编译默认 Angular 项目时未找到(但已安装)node.js

Posted

技术标签:

【中文标题】在 Visual Studio 2019 中编译默认 Angular 项目时未找到(但已安装)node.js【英文标题】:node.js not found (but installed) when compiling the default angular project in Visual Studio 2019 【发布时间】:2020-03-25 16:26:25 【问题描述】:

我在 Visual Studio 2019 中使用 .NET Core 3.0 创建了一个默认 Angular 项目。

当我构建项目并运行它时,我收到以下错误:

error : Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE.

当网页启动时,我会收到异常,例如帖子末尾的图片。

我知道这个错误很容易修复:我只需要下载并安装 Node.js。但我想知道为什么我需要这样做,因为在 Visual Studio 安装程序中选择了 Node.js 选项,所以它应该已经安装了。您可以在我的 Visual Studio 安装程序窗口中看到它(抱歉,它是意大利语的,但您仍然可以看到已经安装的 Node.js)。

有没有办法解决问题并使用通过 Visual Studio 安装检索到的 node.js 而不是安装第二个?

编辑:

我在 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\NodeJs 中找到了 Visual Studio 安装的 node.exe 可执行文件。

我已在Options->Web Package Management 中添加了External Web Tools 的路径,但错误仍然存​​在。

我把路径设置错了,还是有别的原因?

我还注意到,在 .csproj 中,它指的是带有 node 而不是 node.exe 的节点可执行文件。我也改变了这个,但没有结果。

【问题讨论】:

你的node.js的安装路径是否在外部工具搜索路径中? (选项 | 项目和解决方案 | Web 包管理。) 在哪里可以找到路径?它没有显示在安装程序中。 当我安装 node.js 时,它确实显示了路径......这是C:\Program Files\nodejs\node.exe 我在C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\NodeJs 中找到了节点。我已经添加了你所说的路径,但我总是同样的错误。 还是说你需要node.js来build项目?还是只是运行时错误?请提供您在构建时如何运行节点的完整详细信息(例如,从您的 package.json 开始以及您如何启动客户端包的构建的详细信息。 【参考方案1】:

打开 package.json 文件 在“依赖项”部分添加 node-js 依赖项


  "name": "Test.WebApp",
  "version": "0.1.0",
  "private": true,
  "dependencies": 
    "bootstrap": "^4.3.1",
    "jquery": "3.3.1",
    "react": "^16.0.0",
    "react-dom": "^16.0.0",
    "react-router-bootstrap": "^0.24.4",
    "react-router-dom": "^4.2.2",
    "react-scripts": "^1.1.5",
    "reactstrap": "^6.3.0",
    "rimraf": "^2.6.2",
    "node-js": "^5.3.0" <-----------------
  
...

【讨论】:

我似乎无法在您提到的版本中对这个包产生影响。我只找到很久以前的v.1.0.0。我错过了什么?【参考方案2】:

在你的“yourproject.csproj”文件中添加这个标签

<Target Name="OptimizeJs">
  <Exec Command=".bin\node Scripts\r.js -o Scripts\build.js" />
</Target>

【讨论】:

以上是关于在 Visual Studio 2019 中编译默认 Angular 项目时未找到(但已安装)node.js的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2019 MVC 项目模板无法编译

如何使用 GLFW 预编译的二进制文件编译 Visual Studio 2019 发行版

如何在 Visual Studio 2019 中有条件地编译 c++ 源文件?

Unity3DUnity 脚本 ② ( Visual Studio 2019 中的 Unity 编译环境配置 | Unity 编辑器关联外部 C# 脚本编辑器 Visual Studio )

在 Visual Studio 2019 中编译默认 Angular 项目时未找到(但已安装)node.js

在 Visual Studio 2019 中的编译器指令之间切换?