问题背景
在使用 vue
等前端框架生成静态页面之后(dist目录的输出),如何部署?需要一个服务器程序作为代理,可以使用 nginx
等很多方式。
这里记录使用 asp.net core api 项目作为静态代理的简单操作。
其它方案:Node.js一行代码实现静态文件服务器 - 掘金
具体实现
1 新建 asp.net core 项目
web api 项目和 web 应用项目都可以
2 在 startup.cs 中配置静态文件支持
var defaultFilesOptions = new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Clear();
defaultFilesOptions.DefaultFileNames.Add("index.html"); // 默认首页
app.UseDefaultFiles(defaultFilesOptions);
app.UseStaticFiles();
3 使用发布命令,构建最终发布的文件
dotnet publish -c release -v n
发布之后,会得到这样一个目录
将 vue 等前端项目生成的文件,拷贝到 wwwroot 目录下(没有则新建一个)
4 运行
直接运行 WebStaticProxy.exe
或者使用命令行运行 dotnet WebStaticProxy.dll
就可以了
实际操作中,以上步骤可以使用脚本自动化完成