Asp.Net Core, Angular 4 CLI站点部署

2018-02-14 22:20:08来源:cnblogs.com作者:C.Jun人点击

分享
第七城市

简单记录一下,如何在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 offclsdel /q E:/Projects/Trials/CJ/CJ/wwwroot/*del /q E:/Projects/Trials/CJ/CJ/bin/Release/netcoreapp2.0/publish/*del /q E:/Projects/Trials/CJ/deployment/*del /q E:/Projects/Trials/CJ/deployment/wwwroot/*echo 所有历史文件已清除echo 开始发布Angular CLI程序call cj_angular_publish.batecho 开始发布ASP.NET CORE程序xcopy /s E:/Projects/Trials/CJ/cjweb/wwwroot E:/Projects/Trials/CJ/CJ/wwwrootcd E:/Projects/Trials/CJ/CJdotnet publish -c releaseecho 开始IIS文件部署rem iisreset /stopxcopy /s E:/Projects/Trials/CJ/CJ/bin/Release/netcoreapp2.0/publish E:/Projects/Trials/CJ/deploymentrem iisreset /start@pause

cj_angular_publish.bat

E:cd E:/Projects/Trials/CJ/cjwebng build -env=prod
第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台