zoukankan      html  css  js  c++  java
  • Asp.Net Core, Angular 4 CLI站点部署

    简单记录一下,如何在IIS下部署Asp.Net Core Web Application + Angular app的项目。

    环境:IIS 10, Asp.Net Core 2.0, Angular 4 CLI

    步骤:

    1. 确认IIS已经安装了AspNetCoreModule

    2. 新建一个站点,并配置该站点的应用程序池为无托管类型

    3. 新建Asp.Net Core Web Application项目(默认创建,无需任何修改)。
    4. 在Startup.cs中,添加如下代码:
      public void Configure(IApplicationBuilder app, IHostingEnvironment env)
      {
              if (env.IsDevelopment())
              {
                  app.UseDeveloperExceptionPage();
              }
      
              app.UseDefaultFiles(new DefaultFilesOptions
              {
                  DefaultFileNames = new List<string> { "index.html" },
                  RequestPath = new PathString("")
              });
      
              app.UseStaticFiles();
      
              app.UseMvc();
      }
    5. 新建Angular 4 CLI项目
    6. (可选) 修改angular-cli.json的outDir配置:

    7. 发布Angular 4 CLI项目。发布后的代码会自动生成到wwwroot文件夹中。

      ng build -env=prod
    8. 将Angular 4 CLI中的wwwroot覆盖Asp.Net Core项目中的(站点根目录下的)wwwroot同名文件夹。
    9. 发布Asp.Net Core项目。
      donet publish -c release
    10. 将IIS站点资源文件路径指向Asp.Net Core项目发布后的文件夹。
    11. 大功告成。

    从第7步至第9步,可以用批处理代替,节约时间。

    main.bat

    @echo off
    cls
    del /q E:ProjectsTrialsCJCJwwwroot*
    del /q E:ProjectsTrialsCJCJinRelease
    etcoreapp2.0publish*
    del /q E:ProjectsTrialsCJdeployment*
    del /q E:ProjectsTrialsCJdeploymentwwwroot*
    echo 所有历史文件已清除
    
    echo 开始发布Angular CLI程序
    call cj_angular_publish.bat
    
    echo 开始发布ASP.NET CORE程序
    xcopy /s E:ProjectsTrialsCJcjwebwwwroot E:ProjectsTrialsCJCJwwwroot
    cd E:ProjectsTrialsCJCJ
    dotnet publish -c release
    
    echo 开始IIS文件部署
    rem iisreset /stop
    xcopy /s E:ProjectsTrialsCJCJinRelease
    etcoreapp2.0publish E:ProjectsTrialsCJdeployment
    rem iisreset /start
    @pause

    cj_angular_publish.bat

    E:
    cd E:ProjectsTrialsCJcjweb
    ng build -env=prod
  • 相关阅读:
    OCP-1Z0-052-V8.02-112题
    OCP-1Z0-052-V8.02-109题
    OCP-1Z0-052-V8.02-41题
    OCP-1Z0-052-V8.02-40题
    OCP-1Z0-053-V12.02-492题
    基于MysqlConnector/C++的数据库连接池的实现
    mysql Connector C/C++ 多线程封装
    OCP-1Z0-052-V8.02-108题
    OCP-1Z0-052-V8.02-105题
    OCP-1Z0-052-V8.02-104题
  • 原文地址:https://www.cnblogs.com/chenjunsheep/p/8448450.html
Copyright © 2011-2022 走看看