【问题标题】:Building modular asp core angular application构建模块化 asp core angular 应用程序
【发布时间】:2019-10-13 18:57:53
【问题描述】:
我来这里是因为我遇到了问题。在我们公司,我们决定构建一个带有 Angular 前端应用程序的 ASP 核心。我们希望将其发布给我们的集成商,但他们可能希望在我们的应用程序中添加特定的开发,以满足客户的特定需求。他们怎么可能将代码添加到我们的应用程序中?在前端部分(角度)以及后端部分(ASP 核心)知道我们会给他们一个编译的应用程序。我们不希望他们访问源代码...
就像 odoo 一样,你可以给它添加插件。我们想做类似的事情。你们知道如何在 ASP core + Angular 7 中实现吗?
提前致谢,
期待您的建议
A.穆莱
【问题讨论】:
标签:
c#
angular
asp.net-core
design-patterns
architecture
【解决方案1】:
你说你想让他们为它工作而不是给他们源代码的部分,我假设你的意思是你希望他们为前端工作但不能访问后端,如果是的话:
我们对 React 做了同样的事情,这个概念是你的 Angular 应用程序在 \ClientApp 文件夹中的席位
您可以将文件夹移动到新文件夹并启动 git init 将其推送到 github 或任何 git 存储库,然后将其添加为
dotnet new angular -o my-new-app
cd my-new-app\ClientApp
git init .
git add .
git commit "initial commit"
git remote add origin https://GITURL
git push -u origin master
cd ..
rm -rf ClientApp
git init .
git add .
git commit -m "Initial project commit"
git submodule add https://GITURL ClientApp
然后你就可以像往常一样启动项目了。
现在,如果您想让他们访问后端,您可以编译 DLL 代码并将它们放在 Angular 代码旁边的 build 文件夹中。
您还可以将您的后端项目上传到临时服务器,他们可以在其中向CORS 发出请求并启用http://localhost:5000,他们将在本地运行 Angular 以便能够向https://staging-url.com 发出请求
添加 CORS:
services.AddCors(options =>
{
options.AddPolicy(AllowedOriginPolicy,
builder =>
{
builder.WithOrigins(
"http://localhost:5000"
)
.AllowAnyHeader()
.AllowAnyMethod()
;
});
});
希望对你有帮助
干杯