您的位置:首页 > 编程语言 > ASP

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

2018-02-14 16:28 549 查看
简单记录一下,如何在IIS下部署Asp.Net Core Web Application + Angular app的项目。

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

步骤:

确认IIS已经安装了AspNetCoreModule



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



新建Asp.Net Core Web Application项目(默认创建,无需任何修改)。

在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();
}


新建Angular 4 CLI项目

(可选) 修改angular-cli.json的outDir配置:



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

ng build -env=prod


将Angular 4 CLI中的wwwroot覆盖Asp.Net Core项目中的(站点根目录下的)wwwroot同名文件夹。

发布Asp.Net Core项目。

donet publish -c release


将IIS站点资源文件路径指向Asp.Net Core项目发布后的文件夹。

大功告成。

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

main.bat

@echo off
cls
del /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.bat

echo 开始发布ASP.NET CORE程序
xcopy /s E:\Projects\Trials\CJ\cjweb\wwwroot E:\Projects\Trials\CJ\CJ\wwwroot
cd E:\Projects\Trials\CJ\CJ
dotnet publish -c release

echo 开始IIS文件部署
rem iisreset /stop
xcopy /s E:\Projects\Trials\CJ\CJ\bin\Release\netcoreapp2.0\publish E:\Projects\Trials\CJ\deployment
rem iisreset /start
@pause


cj_angular_publish.bat

E:
cd E:\Projects\Trials\CJ\cjweb
ng build -env=prod
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: