• 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
  • 相关阅读:
    策略梯度训练cartpole小游戏
    关于不执行整个大项目而是执行其中一部分独立文件夹的时候的python运行方法
    和textrank4ZH代码一模一样的算法详细解读
    K8s常用命令
    python标准库
    chrome通过devtools来查看Devtools Extension与浏览器内核实际通信的数据情况
    修改文件MD5值
    使用charles过滤网络请求
    git中working tree, index, commit
    Maven中settings.xml的配置项说明
  • 原文地址:https://www.cnblogs.com/chenjunsheep/p/8448450.html
Copyright © 2020-2023  润新知