发布网站使用 ASP mvc 和 Angular 2

Posted

技术标签:

【中文标题】发布网站使用 ASP mvc 和 Angular 2【英文标题】:publish website used ASP mvc and angular 2 【发布时间】:2017-07-19 11:10:29 【问题描述】:

我使用 Angular 2 开发前端并使用 Asp MVC(不是 ASP CORE)作为后端...

在普通的 asp mvc 应用程序中使用此步骤发布应用程序:

    右键单击项目 选择在菜单上发布 选择个人资料名称 连接 ...

及其他步骤

当我使用这些步骤并将我的网站上传到主机网站时,只显示在

中使用的默认加载消息
"<my-app>Loading...</my-app>"

这是我默认使用的已发布文件夹步骤:

请帮帮我!并告诉我发布我的网络应用程序的步骤

坦克

【问题讨论】:

您是否使用 Azure 作为主机? 不,我使用共享网络托管服务@JoséQuintoZamora 请您分享更多关于控制台日志错误、应用程序代码等的信息 应该使用“ng build”来构建发布的文件吗? @JoséQuintoZamora 【参考方案1】:

好吧,我不久前也遇到过这个问题,不幸的是我没有找到很多关于它的信息,但可以分享一些经验。

    在解决方案中为构建工件创建文件夹(在我的情况下为wwwroot) 配置 Angular cli 或您用于构建项目的任何内容以在其中存储构建工件(在我的情况下,在 .angular-cli.json 文件集 "outDir": "PROJECT_PATH_OR_EMPTY_IF_ITS_IN_SAME_FOLDER/wwwroot" 中) 构建 Angular 应用程序(在我的情况下为 ng build --prod --output-hashing=none --environment=qa

问题从这里开始:在 .net 核心中,您只需将项目配置为从 wwwroot 文件夹加载 index.html 文件,一切都很好,但在这种情况下我无法做到(任何想法)

所以...

    修改 mvc 应用程序的默认路由以仅加载一个视图(角度本身会在之后处理)

    routes.MapRoute( 名称:“默认”, 网址:“*url”, 默认值:新 控制器 =“主页”,操作 =“索引”,id = UrlParameter.Optional );

    修改布局页面 - 将所有 index.html 内容复制到 _Layout.html(确保脚本标签引用 wwwroot 文件夹中的正确文件)

    照常发布

解决方案示例

我希望它会有所帮助。

【讨论】:

是角度 1 吗? 如何在我的项目中运行“ng build”...我在 youtube 中看到使用可视代码中的终端来运行“ng build” 如果我理解您的问题,您可以为此目的使用任何终端。我正在使用标准 Windows 'cmd'。顺便说一句,你是如何在没有终端的情况下在 Angular 上开发的? 使用 ng build 时出现此错误“@angular/compiler-cli”包未正确安装。

以上是关于发布网站使用 ASP mvc 和 Angular 2的主要内容,如果未能解决你的问题,请参考以下文章

在 asp.net mvc 之上使用 angular js 的好处

angular.js的路由和模板在asp.net mvc 中的使用

识别 ASP.NET MVC 代码中的 Angular js AJAX 调用

asp.net 5 预览模板 - 网站

如何使用 Angular 2 在 POST 上启用 ASP.NET MVC 4 中的跨源请求

混合 SPA 和 ASP.NET MVC 路由