当前,如果我想使用asp.net core和angular,请执行以下操作:
"php": "^7.2.5",
"laravel/framework": "^7.24",
:
Index.html
@section scripts {
<script src="runtime.js"></script>
<script src="polyfills.js"></script>
<script src="styles.js"></script>
<script src="vendor.js"></script>
<script src="main.js"></script>
}
<app-root></app-root>
:
_Layout.html
然后,我启动角度服务器并运行mvc应用程序。如您所见,在这种情况下,我使用了mvc应用程序的<!DOCTYPE html>
<html lang="en">
<head>
<base href="/">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>App</title>
</head>
<body>
<h2 class="bg-dark text-white p-2">App</h2>
@RenderBody()
@RenderSection("Scripts", required: false)
</body>
</html>
并将角度内容投影到其中。我将只使用asp.net核心应用程序来处理Rest api请求,因此不使用视图等。
我有三个问题:
Index.html
吗?我的意思是,asp.net的核心部分实际上仅是为api请求提供服务,而应用程序的入口点将是有角度的客户端应用程序的index.html
?感谢您的回答/评论。
答案 0 :(得分:0)
您要遵循的方法比构建2个单独的应用程序更简单,对于小型项目,可以使用它。尽管简单,但IMO有很多不利之处,例如从更复杂的解决方案中消除了这种方法,例如
您的REST API应该仅负责提供数据,并且随着解决方案的发展,您正在将其与托管前端部件结合在一起。如果您决定将另一个UI部件添加到系统或更改框架等会怎样?在前端和后端应用程序中都必须修改代码。
这种方法的另一个问题是在一个代码库中维护2个应用程序。
我相信这种方法对于小型项目是公平的,但是对于更复杂的项目,您应该坚持关注点分离并构建两个单独的应用程序。