在 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 )