我正在尝试在浏览器中运行noflo,并且它将成为Angular App。 Noflo文档提到了以下内容:
NoFlo项目也可以在Web浏览器中运行。您可以使用webpack工具创建NoFlo项目的浏览器可运行版本。
简而言之,制作NoFlo项目的浏览器构建涉及以下步骤:
使用fbp-manifest工具
查找所有已安装的浏览器兼容组件生成一个自定义NoFlo组件加载器,它需要所有组件文件并注册它们以便加载NoFlo
使用应用程序入口点配置并运行webpack,将NoFlo的标准组件加载器替换为生成的自定义组件
为了自动完成这些步骤,我们提供了grunt-noflo-browser,这是我们用于构建自动化的Grunt任务运行器的插件。
我对这项任务的最短路径和最不痛苦的路径表示怀疑:
选项1:
我正在使用Angular CLI。 Webpack集成了角度cli,可以通过使用" ng eject"移动到基于webpack的配置。命令,然后我可以使用Grunt任务运行器来设置它。我以前从未使用过Grunt。我不知道它将如何运作。此后我将需要管理webpack配置进一步开发的另一个令人头痛的问题。
选项2:
与上述相同,但手动完成所有操作。消除了去Grunt路径的头痛。创建有关如何使用fbp-manifest工具以及如何生成自定义NoFlo组件加载器的新问题和复杂性。此外,维护webpack配置是进一步开发的附加任务。
选项3:
如果存在Angular CLI特有的任何其他路径
我将整合Noflo并为我的应用程序大量定制它。我的节点将是新的,并且没有服务器运行,我将拥有自己的IP推送系统。我们的想法是整合Noflo和Noflo UI,尽可能多地重用并开发其余部分。
我将很感激有关此事的任何建议。
由于
答案 0 :(得分:0)
问题主要是我们需要为浏览器生成静态配置的NoFlo组件加载器,因为它们无法从文件系统中发现可用组件。
此功能过去与grunt-noflo-browser模块强烈耦合。
但是,截至今天,应该可以使用noflo-component-loader WebPack插件将NoFlo构建为任何现有WebPack设置的一部分。在WebPack module.rules
中添加以下内容:
{
// Replace NoFlo's dynamic loader with a generated one
test: /noflo\/lib\/loader\/register.js$/,
use: [
{
loader: 'noflo-component-loader',
options: {
// Only include components used by this graph
// Set to NULL if you want all installed components
graph: 'myproject/GraphName',
// Whether to include the original component sources
// in the build
debug: false,
},
},
],
},