【发布时间】:2022-11-04 00:28:10
【问题描述】:
我有一个与this one 非常相似的问题,但不是命令行应用程序,而是我有一个 ASP.NET Web API 项目,其中包含一个 Angular 项目,使用 dotnet 模板“angular”(dotnet new angular --name something.. NET 6.0.401)。
当我使用dotnet run 运行应用程序并打开 localhost:5097 时,我会看到一个空白页面,其中显示一条消息“正在启动 SPA 代理...
当 SPA 代理准备好时,此页面将自动重定向到 https://localhost:44415。” 控制台不断打印
信息:Microsoft.AspNetCore.SpaProxy.SpaProxyMiddleware[0] SPA 代理未准备好。返回临时着陆页。一遍又一遍地。
当我输入 localhost:44415 时,我在控制台中收到一条错误消息
失败:Microsoft.AspNetCore.SpaProxy.SpaProxyLaunchManager[0] 无法使用命令“npm start”启动 SPA 开发服务器。并打开一个记事本窗口,其中包含内容
:: Created by npm, please don't edit manually.
@ECHO OFF
SETLOCAL
SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
SET "NODE_EXE=node"
)
SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)
"%NODE_EXE%" "%NPM_CLI_JS%" %*
可以理解,这与我的 node.js 目录中的 npm.cmd 的内容相同。窗口名称也是“npm.cmd”。
正如我之前附加的线程中提到的,我在 Windows 设置中删除了 .js 的文件关联,但它没有改变任何东西。那里的最后一条评论谈到了更改“lb-discover.cmd”文件的内容。我认为 ASP.NET + Angular 项目没有与之类似的文件。
我怀疑它可能与 Windows 中的文件关联有关,但我无法为 .cmd 文件更改它。
提前致谢。
【问题讨论】: