Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在基于plguin的asp.net核心应用程序中使用angularjs/react,可以独立部署插件_Reactjs_Angular_Asp.net Core_Single Page Application - Fatal编程技术网

Reactjs 在基于plguin的asp.net核心应用程序中使用angularjs/react,可以独立部署插件

Reactjs 在基于plguin的asp.net核心应用程序中使用angularjs/react,可以独立部署插件,reactjs,angular,asp.net-core,single-page-application,Reactjs,Angular,Asp.net Core,Single Page Application,应用程序正在使用.NET5MVC和WebAPI构建。应用程序有一个插件系统,其组织如下 [Starting MVC Application] |__MainLayOut |__Modules |__Plugin1 |_Binaries (Web APIs, MVC Controllers, logic, db access local to this plugin) |_Views (has shared, _viewimports etc.. loca

应用程序正在使用.NET5MVC和WebAPI构建。应用程序有一个插件系统,其组织如下

[Starting MVC Application]
|__MainLayOut
|__Modules
    |__Plugin1
        |_Binaries  (Web APIs, MVC Controllers, logic, db access local to this plugin)
        |_Views (has shared, _viewimports etc.. local to this module)
        |_wwwroot (has static files local to this module)
|
|__Plugin2
    |_Binaries  (Web APIs, MVC Controllers, logic, db access local to this plugin)
    |_Views (has shared, _viewimports etc.. local to this module)
    |_wwwroot (has static files local to this module)
正如你所看到的,插件是自包含的(例如:-如果你删除一个插件目录并重新启动应用程序),任何与该插件相关的功能都不会工作。(您也可以压缩整个插件目录,并通过一些配置文件更改进行部署)通过主应用程序向插件提供用户管理/权限等常见功能

到目前为止,UI是从服务器呈现的,WebAPI由MVC控制器调用,MVC控制器与Web API对话,这是我在实际开发最终应用程序时不想做的

我的问题是,我可以移动UI部件,并将其作为角度/反应应用程序。但是我不能使用我现在的插件系统。如果我能做到这一点,我应该能够将angular/react组件分解到不同的物理位置(插件目录),然后能够独立分发这些组件,以便在部署时客户端应用程序将识别插件相关的angular/react代码,然后根据需要加载/运行

我找不到这样的例子。他们都有一个单独的Angular/React应用程序。我想的另一个选择是使用RequireJs和AMD模式,我可以在不同的插件中模块化我的javascript代码。主UI呈现将在服务器上进行,但客户端将负责WebAPI调用获取数据和绑定。然而,这不会给我MVVM变化检测,这可能是非常有用的


因此,我是否可以使用Angular/React,这样我就不会创建单独的应用程序,而是在现有应用程序中使用Angular代码,在不同的插件目录中创建Angular/React模块,并让它们一起工作?

您可以查看Asp.net core或React模板,ClientApp子目录中的Angular/React,您可以独立运行Angular/React应用程序,也可以使用Asp.net核心应用程序。参考:我经历过这一切。但它不适合我的情况,因为插件功能。例如,如果我在一个单独的项目中创建一个Todo插件,我需要该项目中的所有razor视图和相应的angular/react/vue代码。但在部署中,我将不得不将文件复制到主应用程序,它应该可以工作。