Visual Studio 2017 .NET Core 2.1 Angular 上的“npm run build -- --prod”错误

Posted

技术标签:

【中文标题】Visual Studio 2017 .NET Core 2.1 Angular 上的“npm run build -- --prod”错误【英文标题】:"npm run build -- --prod" error on Visual Studio 2017 .NET Core 2.1 Angular 【发布时间】:2018-12-18 13:52:16 【问题描述】:

我需要帮助,我已经使用 .Net Core 2.1 制作了一个基于 Angular 的项目。 因此,当我尝试发布 VS 时返回此错误:

所以错误是:

所以,我遵循了这个解决方案: The command "npm run build -- --prod" exited with code 1 error 但没有成功,我没有在我的.angular-cli.json 上找到这个:npm run build -- --prod 我怎么解决这个问题 ?谢谢

日志:

    0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'build',
1 verbose cli   '--',
1 verbose cli   '--prod' ]
2 info using npm@6.4.1
3 info using node@v10.14.2
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle ApoManagement@0.0.0~prebuild: ApoManagement@0.0.0
6 info lifecycle ApoManagement@0.0.0~build: ApoManagement@0.0.0
7 verbose lifecycle ApoManagement@0.0.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle ApoManagement@0.0.0~build: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\projects\ApoManagement\ApoManagement\ClientApp\node_modules\.bin;C:\Program Files (x86)\Parallels\Parallels Tools\Applications;C:\Program Files\Microsoft MPI\Bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\dotnet\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;C:\Users\MYUSER\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Users\MYUSER\AppData\Local\Programs\Python\Python36-32\;C:\Users\MYUSER\AppData\Local\Microsoft\WindowsApps;C:\Users\MYUSER\AppData\Local\atom\bin;C:\Program Files\Microsoft VS Code\bin;C:\Users\MYUSER\AppData\Local\Microsoft\WindowsApps;"C:\Users\MYUSER\AppData\Roaming\npm;C:\Program Files\nodejs";C:\Users\MYUSER\AppData\Roaming\npm
9 verbose lifecycle ApoManagement@0.0.0~build: CWD: C:\projects\ApoManagement\ApoManagement\ClientApp
10 silly lifecycle ApoManagement@0.0.0~build: Args: [ '/d /s /c', 'ng build --extract-css "--prod"' ]
11 silly lifecycle ApoManagement@0.0.0~build: Returned: code: 1  signal: null
12 info lifecycle ApoManagement@0.0.0~build: Failed to exec build script
13 verbose stack Error: ApoManagement@0.0.0 build: `ng build --extract-css "--prod"`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:182:13)
13 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:182:13)
13 verbose stack     at maybeClose (internal/child_process.js:962:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
14 verbose pkgid ApoManagement@0.0.0
15 verbose cwd C:\projects\ApoManagement\ApoManagement\ClientApp
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build" "--" "--prod"
18 verbose node v10.14.2
19 verbose npm  v6.4.1
20 error code ELIFECYCLE
21 error errno 1
22 error ApoManagement@0.0.0 build: `ng build --extract-css "--prod"`
22 error Exit status 1
23 error Failed at the ApoManagement@0.0.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

【问题讨论】:

日志中有什么内容?我也可以问一下为什么要创建一个 .net core angular 网站,而您可以轻松地基于 angular cli 创建一个网站 @JackM 我需要服务器 api,我选择 .net。我已经用日志更新了答案 谁/什么启动了命令 npm run build? 个人我不明白这个错误,但要尝试的一件事是更新节点和 npm。在私人笔记中,您仍然可以将您的 api 与使用 angular cli 开发的网站一起使用(我认为这是推荐的) 看来你可以通过ng build --extract-css "--prod"重现这个错误 【参考方案1】:

我遇到了和你一样的问题,我已经设法解决了:

编辑您的 .csproj 文件: Right click on you project - 选择Edit ____.csproj

替换这个:

<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build -- --prod" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:s-s-r -- --prod" Condition=" '$(BuildServerSideRenderer)' == 'true' " />

有了这个:

<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build --prod" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:s-s-r --prod" Condition=" '$(BuildServerSideRenderer)' == 'true' " />

基本上命令npm run build -- --prod,应该是npm run build --prod

【讨论】:

这实际上是错误的,您可以使用 npm run build -- --prod ,如果这给您一个错误,那是因为您在 aot 中构建的 typescript 有问题。您实际上可以转到您的 Angular 应用程序,然后运行 ​​npm run build -- --prod 并检查详细的错误,修复它们并返回发布它 我遇到了这个问题,使用 Angular 9 + ASP.NET Core 3.1。 Angular CLI 项目可以很好地用于生产,并且 build:s-s-r 命令也可以正常工作。但是,当我启用 BuildServerSideRenderer 项目设置时,VS2019 在构建 s-s-r 版本时会出错。有什么想法吗? @Nexus 我可以确认删除两行上的 -- 使用 Angular 9 + ASP.NET Core 3.1 为我修复了 dotnet publish 命令。您知道如何发布它,因为我很难使用 iisnode 在 IIS 上启动和运行它吗? @tfa yup 删除多余的双破折号修复了构建问题。我仍在试图弄清楚如何在 IIS 上使用 .NET Core 部署 Angular s-s-r。 NodeServices 在 .NET Core 3.x 中已弃用,因此旧选项 (UseSpaPrerendering) 没有用处。我还没有找到任何有用的东西,联系了一些开发人员和网站,仍然没有运气。 ASP.NET Core 文档和 Angular Universal 文档需要更多最新的内容。抱歉,我在这个阶段帮不上忙。 我今天开始工作并在这里写了说明如果您有任何问题请评论***.com/questions/60187707/…

以上是关于Visual Studio 2017 .NET Core 2.1 Angular 上的“npm run build -- --prod”错误的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017 安装中断 Visual Studio 2015 ASP.NET Core 项目

Visual Studio 2017 针对移动开发的新特性介绍

Visual Studio 2017 ASP.Net 发布自包含的点网核心应用

Visual Studio 2017 (.NET Core) 中的自动版本控制

远程部署/调试 Visual Studio 2017 .NET Core

从 Visual Studio 2017 中的现有 VB.NET 项目创建 dll