发布ASP.NET Core 2 Angular 6单页应用程序模板应用程序

4
我正在开发一个使用DotNet core 2.1框架的应用程序,其中包含一个Angular模板。我已经完成了演示,并希望切换到生产模式,以便上传文件到Azure。在上传文件到服务器之前,我想在本地运行该站点,以确保一切正常。
文件结构如下所示:
![image](https://istack.dev59.com/H3X44.webp)
我按照这个教程进行操作:https://medium.com/@balramchavan/deploy-angular-asp-net-51021afd5ab3,但是没有什么帮助。
执行教程中的命令后,我在发布文件夹中得到以下结构:
![folder](https://istack.dev59.com/bzR69.webp)
在客户端应用程序中,我们有disc文件夹,里面有以下文件:
![files](https://istack.dev59.com/5wLko.webp)
我尝试使用命令“dotnet AppServerPortal.dll”在本地站点上运行应用程序。然而,我遇到了以下错误:
![error](https://istack.dev59.com/k5VBk.webp)
如果有人知道问题所在,请给出一步步解决方案。非常感谢您的帮助。

你安装了npm吗? - Panagiotis Kanavos
当然。 - Nemanja Andric
但是错误抱怨了路径。 你是如何添加它的?通过 VS 安装程序还是独立添加的?我记得有一段时间遇到类似的问题,因为 VS 自带的 Node、npm 版本太旧了。 - Panagiotis Kanavos
路径不是问题。我已经找到了问题所在。我很快会写一篇回复帖子的文章。无论如何,还是谢谢。 - Nemanja Andric
2个回答

1
只需按照以下步骤进行:

1. Open ClientApp folder and run CMD
2. ng build --prod
3. npm i -g http-server --save
4. http-server ./dist

如果您的应用程序正在运行,但某些部分不起作用(就像我的情况一样),请按照以下步骤进行操作:更改angular.json中anular的配置。添加以下代码片段,一切都会正常工作:
"configurations": {
                        "production": {
                            "fileReplacements": [
                                {
                                    "replace": "src/environments/environment.ts",
                                    "with": "src/environments/environment.prod.ts"
                                }
                            ],
                            "optimization":true,
                                           "outputHashing":"none",
                                           "sourceMap":false,
                                           "extractCss":false,
                                           "namedChunks":false,
                                           "aot":true,
                                           "extractLicenses":true,
                                           "vendorChunk":false,
                                           "buildOptimizer":false
                        }
                    }

"...把它放在angular.json文件的底部?就在schema之后?放在“apps”数组内部。" - Manchuwook
文件:angular.json $schema / projects / architect / configurations - Nemanja Andric

0

这个问题很难排查。我建议导航到 Azure 门户,选择您创建的应用服务,然后在“开发工具”下选择“控制台”选项,然后在右侧显示的控制台中,应默认为类似于 D:\home\site\wwwroot 的内容,输入 dotnet "nameOfYourDLL".dll 并按回车键。

如果您不确定,请只需输入 ls 来查看目录中的所有内容,然后找到 dll 名称。

这将尝试在 Azure 中运行您的应用程序,通常情况下,如果出现问题,您将获得非常有价值的日志。过去它总是指向了正确的地方,无论是连接字符串问题、Azure 密钥库问题还是数据库初始化器等。

此外,您可以阅读有关如何在 blog 中部署您的 Angular 和 Azure 应用程序的信息。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接