发布网站使用ASP mvc和angular 2

时间:2017-07-19 11:10:30

标签: asp.net asp.net-mvc angular typescript publish

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

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

  1. 右键点击项目
  2. 选择菜单上的发布
  3. 选择个人资料名称
  4. 连接......
  5. 和其他步骤

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

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

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

    published asp mvc & angular 2 web application folder and files

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

1 个答案:

答案 0 :(得分:0)

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

  1. 在构建工件的解决方案中创建文件夹(在我的情况下为wwwroot
  2. 配置angular cli或用于构建项目的任何内容以存储构建工件(在我的例子中为.angular-cli.json文件集"outDir": "PROJECT_PATH_OR_EMPTY_IF_ITS_IN_SAME_FOLDER/wwwroot"
  3. 构建角度应用(在我的情况下为ng build --prod --output-hashing=none --environment=qa
  4. 这里的问题开始了:在.net核心中你可以配置项目从wwwroot文件夹加载index.html文件,一切都很好,但在那种情况下我无法做到(任何想法都是apreciated)

    因此...

    1. 修改mvc app的默认路由,只加载一个视图(之后角度本身就会照顾)

      routes.MapRoute(       名称:&#34;默认&#34;,       url:&#34; {* url}&#34;,       默认值:new {controller =&#34; Home&#34;,action =&#34; Index&#34;,id = UrlParameter.Optional}   );

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

    3. 照常发布

    4. 解决方案示例

      enter image description here

      我希望它会有所帮助。