考虑; JHipster生成基础项目.Angular 4是客户端框架.Webpack捆绑了客户端资产.
我们的想法是构建一个可插拔的管理仪表板(可扩展).将具有主要结构和页面的基础系统.其他团队可以构建自己的插件(页面)并在运行时将其附加到现有系统.因此,我们需要从远程存储库URL加载插件模块,这些URL将从服务器端发送(或者如果有任何更好的想法请通知我).
我构建了一个原型来模拟主流.但是,我遇到了很多障碍.主要是在运行时加载插件模块,使用Webpack编译我们的项目.
Webpack将使用模块ID(资源)替换所有模块名称.
换一种说法:
首先要了解的是Webpack无法动态加载构建期间未知的模块.这继承了Webpack构建依赖关系树的方式,并在构建期间收集模块标识符.它完全没问题,因为Webpack是一个模块捆绑器,而不是模块加载器.因此,您需要使用模块加载器,现在唯一可行的选项是SystemJS(资源).
我在互联网上发现的与这个主题相关的所有文章都说它可行,但它会很复杂.从远程URL加载模块我没有太多运气.我一直在找东西说" 是的,这可能做x ",然后我遇到了一些错误,并寻找那个找别人说" 是的,这是不可能的 ".我曾尝试使用SystemJs加载器来延迟加载插件模块作为以下片段,但没有运气!
@Component({
providers: [
{
provide: NgModuleFactoryLoader,
useClass: SystemJsNgModuleLoader
}
]
})
export class ModuleLoaderComponent {
constructor(private _injector: Injector,
private loader: NgModuleFactoryLoader) {
}
ngAfterViewInit() {
this.loader.load('app/t.module#TModule').then((factory) => {
const module = factory.create(this._injector);
const r = module.componentFactoryResolver;
const cmpFactory = r.resolveComponentFactory(AComponent);
// create a component and attach it to the view
const componentRef = cmpFactory.create(this._injector);
this.container.insert(componentRef.hostView);
})
}
}Run Code Online (Sandbox Code Playgroud)
所以我想知道是否真的可以使用Angular 4和Webpack来做这样的系统?有没有关于这个主题的任何好的文档或一个工作的例子?我应该考虑这种系统的另一个客户端框架吗?
UPDATE
不确定在这里使用的确切条款,所以任何帮助将不胜感激.
为了最简单,我有一个表单应用程序.当我加载"form.exe"时,表单有一个控件,一个菜单.此菜单有一个菜单项"退出".我想要的是,当表单加载时,能够将参数传递给此表单应用程序,该应用程序指定可以添加专用方法,控件等的DLL.
现在当我加载"form.exe add_plugable.dll"时,我的菜单有另一个菜单项"添加".当我加载"form.exe add_plugable.dll remove_pluggable.dll"时,菜单中有3个项目"退出","添加"和"删除".
希望这是有道理的.我需要在Forms应用程序中包含什么以及如何创建DLL?我知道我需要一个通用接口,但不知道如何使用命名空间和接口以及抽象类来完成此操作.
谢谢!
尝试登录管理面板时遇到此错误。我无法理解它。
Warning: Cannot modify header information - headers already sent by (output started at /home/xxxxxx/public_html/wordpress/wp-config.php:1) in /home/xxxxxx/public_html/wordpress/wp-includes/pluggable.php on line 881
Run Code Online (Sandbox Code Playgroud)
pluggable.php 881:
function wp_redirect($location, $status = 302) {
global $is_IIS;
$location = apply_filters('wp_redirect', $location, $status);
$status = apply_filters('wp_redirect_status', $status, $location);
if ( !$location ) // allows the wp_redirect filter to cancel a redirect
return false;
$location = wp_sanitize_redirect($location);
if ( !$is_IIS && php_sapi_name() != 'cgi-fcgi' )
status_header($status); // This causes problems on IIS and some FastCGI setups
header("Location: $location", true, …Run Code Online (Sandbox Code Playgroud) 我想制作一个支持插件的PyQt4程序.基本上我希望用户能够在PyQt4中编写QWidget子类,并通过GUI从主应用程序窗口添加/删除它们.我该怎么做,尤其是插件机制?
在我的程序中,我同时在多个服务器上上传一个文件,如谷歌驱动器,保管箱等.我正在使用适配器设计模式来调整每个服务器api,因此每个服务器具体类实现一个FileServer接口,最后我有一个FileServer对象列表.我的问题:由于我的程序将来必须支持新的服务器,封装所有服务器对象实例化的最佳方法是什么(我的意思是,"... =新..."部分)?我们想到的是工厂模式,但是在工厂方法中返回列表是否正确?谢谢.
如何编写可插入的 Java 应用程序。我阅读了 OSGI 和其他一些插件框架,但我想自己做。有什么简单的方法可以写出我想要的东西吗?