问题标签 [modularization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1368 浏览

browser - emscripten中使用MODULARIZE和EXPORT_NAME时如何使用FS

我有一个包含使用 emscripten 生成的库的应用程序。我正在使用标志编译它们:

但是,库 FS 不再可用。当我在没有标志的情况下进行编译时,我可以在任何其他脚本中使用库 FS。

是否可以在我的模块中导出 FS?

0 投票
3 回答
723 浏览

c++ - 模块化意大利面条代码

我仍然是 C++ 的新手,我一直在尝试模块化一些给我的意大利面条代码。到目前为止(除了学习如何使用 git 和安装 rarray 库以用它们替换自动数组)我对如何模块化事物然后通过 make 编译它感到有点困惑。

我知道我必须在头文件中创建原型,从我的函数创建我的目标文件,然后用“驱动程序”代码编译它。运行/编写 make 文件不是我关心的问题,而是如何开始像这样模块化代码;我不确定如何制作修改数组的函数!

任何指向正确方向的指针都会令人惊叹。如有必要,我可以澄清更多。

0 投票
1 回答
1553 浏览

javascript - js - 避免命名空间冲突

到目前为止,我只参与过相对较小的项目(而且大部分是单独的),但这次我必须与其他程序员合作......基本上是因为我必须非常仔细地规划网站的结构以避免花费数小时调试代码。

在这一点上,我想以下列方式做到这一点。我将我的代码划分为模块并将每个模块存储在一个单独的文件中,该文件位于一个对象(或一个函数)内,具有一个虚构的名称(lzheA、lzheB、lzheC 等),以避免在是否使用同名对象时发生冲突另一段代码。加载文档时,我声明了一个变量(一个对象),用作应用程序的主命名空间。对象的属性是我之前定义的模块。

https://jsfiddle.net/vwc2og57/2/

问题......这种结构方式值得一试还是因为缺乏经验而错过了什么?尽管每个模块只使用了两次,但在声明变量并将其分配给属性时,模块的虚构名称会让您感到困惑吗?

0 投票
1 回答
105 浏览

entity-framework - 如何在模块中配置实体框架“自包含”

我正在构建一组组件,我们称它们为服务,它们使用实体框架来访问它们的数据。这些组件旨在用于同一解决方案中的多个项目。我们希望这些组件尽可能地“独立”,这意味着我们希望在一项服务中将 Entity Framework 从 5 升级到 6,而将 EF5 留在另一项服务中。我们的解决方案可能如下所示:

对于 Application1,我们没有问题,因为我们可以将 EF5 作为 nuget 包安装在其中,并让 ServiceA 和 ServiceB 都使用它,但是 Application2 呢?我无法想出在一个项目中同时拥有 EF5 和 EF6 的方法......那么配置呢?有没有办法只为 ServiceA 和 ServiceB 编写一次配置,而不必为使用它们的每个应用程序重复它?我宁愿避免制作 ServiceA 和 ServiceB 网络服务并保持模块之间的所有交互“进行中”。

先感谢您!

0 投票
0 回答
804 浏览

angularjs - 大型 AngularJS 应用程序的最佳实践

我们正在开发一个非常庞大的应用程序的新版本,该应用程序目前由 JSP+JS 页面组成,由自定义 Servlet 提供服务。鉴于应用程序处理大量数据,大部分业务逻辑在数据库中实现为存储过程。该应用程序的主要卖点是其存储数据的可视化表示。基本上任何东西都可以建模和可视化。当前版本在Silverlight中可视化,在IE中效果最好,需要它的插件,这显然是一件坏事。我们的目标是尽可能独立于浏览器,主要问题是图表绘制。所以我们决定试试 AngularJS+SVG。开发始于一个全新的项目,Spring MVC REST 后端,单页 AngularJS 应用程序。几个月后,我们现在看到这是一个不错的选择,每个功能都可以实现。为了尽快发布下一个主要版本,我们决定暂时保留旧的 JSP 表单(除可视化之外的其他部分),并用 Angular 重写可视化。所以可视化组件需要独立于在jsp或html中运行,并且需要独立于我们的框架(有标签作为iframe:一个图表编辑器屏幕是一个iframe中的jsp,现在是一个完整的角度应用程序;后端是基于servlet的,很多特性都是在JS函数中实现的)。我的问题是,我们如何才能尽可能有效地模块化应用程序?我受此启发 所以可视化组件需要独立于在jsp或html中运行,并且需要独立于我们的框架(有标签作为iframe:一个图表编辑器屏幕是一个iframe中的jsp,现在是一个完整的角度应用程序;后端是基于servlet的,很多特性都是在JS函数中实现的)。我的问题是,我们如何才能尽可能有效地模块化应用程序?我受此启发 所以可视化组件需要独立于在jsp或html中运行,并且需要独立于我们的框架(有标签作为iframe:一个图表编辑器屏幕是一个iframe中的jsp,现在是一个完整的角度应用程序;后端是基于servlet的,很多特性都是在JS函数中实现的)。我的问题是,我们如何才能尽可能有效地模块化应用程序?我受此启发关于 AngularJS+SVG 中的流程图应用程序的文章,我们正在使用 Snap.SVG 进行 SVG 操作。

现在这些是主要部分(在单独的 .js 文件中):

  • 具有控制器中基本事件处理的图表指令,其中包含对 DiagramViewModel 的引用
  • DiagramViewModel JS 类,它是从给定的 DiagramDataModel(它是从后端接收的 JSON 对象)构造的,就像在 FlowChart 应用程序中一样
  • DiagramEdit JS 类,其中包含用于编辑图表的方法(有只读用户),它所做的任何事情都涉及 DiagramViewModel,因此它具有对它的引用
  • 执行基本导航(缩放、平移等)的 DiagramNavigation JS 类
  • 用于包装后端和框架 JS 方法(工厂)的 Angular 模块
  • 单独文件中的其他服务(记录器模块、错误处理程序模块等)

这样做的重点是指令的控制器应该很薄,因此逻辑在 ViewModel 和 DiagramEdit 类中是分开的。我对这种方法的主要担忧是,如果 ViewModel 或 Edit 类中的任何方法想要进行框架调用,它应该通过 ViewModel 构造函数中的 Controller 给 ViewModel 的引用来实现。所以我基本上是手动进行 Angular 的依赖注入(框架/后端包装器工厂被注入到指令的控制器中,并且我将引用传递给 ViewModel 构造函数)。我是否应该只有一个 ViewModel 来完成所有的魔法(即使它非常大,超过 3K 行)?或者我应该使用 angularJS 工厂作为 ViewModel 所以 bakcend 和框架' s 工厂可以注入 ViewModel 工厂吗?我应该为功能组设置单独的 Angular 模块吗?如果是这样,他们如何共享图表对象?它应该只在 $scope 中共享吗?

我关心的一个很好的例子:工具栏上有一个自动完成输入字段。当它发生变化时,DiagramEdit 会进行后端调用以在对象中进行搜索。当调用返回时,Edit 模块迭代结果并将 SVG 表示添加到对象。为此,我需要由 Angular 注入的 $sce 模块。然后这个列表在一个 ng-repeat 中可视化,绑定到 Edit 模块中的一个变量。

此版本发布后,我们将继续开发其他页面和框架,并在后端切换到 Spring。所以这个图表模块需要有一个定义良好的接口,独立于后端调用和客户端应用程序的其他部分。

关于更大规模 Angular 开发的另一篇很棒的文章是这个

0 投票
2 回答
362 浏览

javascript - javascript模块化和依赖注入之间的区别

javascript代码的模块化(以browserify为例)和依赖注入有什么区别?

它们是同义词吗?两人要一起去吗?或者我错过了什么?

0 投票
1 回答
2055 浏览

jboss - ModuleClassLoader 单例

我有这种情况:

  • 一个 JBOSS 实例
  • 应用程序客户端.war
  • 应用服务器.war
  • 一个正确安装的 jboss 模块,仅包含接口。

server.war 应用程序实现 jboss 模块接口,并使用 JNDI 绑定发布这些实现。带有查找功能的 client.war 应用程序使用实现 server.war。

运行时 client.war 可以调用 server.war 公开的实现,但是当我尝试启动事务休眠时,我会收到以下错误:

错误 [stderr] java.lang.IllegalStateException: JBAS016071: 未为服务模块加载器中的模块“client.war:main”的 ModuleClassLoader 设置单例。这意味着您正在尝试使用与部署无关的线程上下文类加载器访问焊接部署。

在那里我撞了几天的头,但我不明白问题是什么。有人可以帮助我吗?

0 投票
2 回答
631 浏览

javascript - 如何像 C/C++ 一样轻松模块化 Javascript

我有一个完全用 JavaScript 构建的大型项目,我有一个有序且“内部模块化”的 5k 行 .js 文件,它是整个站点的引擎。

现在我必须创建另一个站点(这个站点的扩展),我必须在其中重复很多代码,我的问题是,我已经看到了使用 Browserify、CommonJS 等的很多可能性。但这不是我的在搜索中,我正在搜索模块化 JavaScript,就像 C/C++ 一样,使用函数或功能的文件制作#includes 并重用这样的代码。我已经这样做了,包括 HTML 中的其他 JS 文件,但是 JS 文件只是变量和一些数组,而不是网站的功能。

我也使用 jQuery,在那个大的 5k 行 .js 文件中,我几乎都在 jQuery document.ready 事件中,这也带来了麻烦,因为我必须为每个文件创建一个 document.ready 事件?

我需要一些指导

0 投票
1 回答
1160 浏览

copy - 在程序 COPY 期间不复制 INCLUDE

我将程序 SAPBC414T_BOOKINGS_01 复制到新包 ZBC400_01 中的新名称 ZSAPMZ_BOOKINGS_01。

我选择所有项目,包括 INCLUDEs。SAP 要求我重命名包含,我重命名它们,如下所示:

在此处输入图像描述

然而,在复制后,我ZSAPMZ_BOOKINGS_01在我的包中打开我的程序,我ZBC400_01惊讶地发现所有 INCLUDE 都与源程序中的名称相同。为什么?

在此处输入图像描述

0 投票
1 回答
840 浏览

cocoa - 使用多个 XCTestCase 类进行 UITesting

我正在为我的项目编写 UITest 案例。因此,我希望将多个文件子类化到 XCTestCase 或子类化到我的其他测试类。每当我创建这样的文件时,我都会收到以下错误。

我尝试了以下方法,但没有任何效果:

主文件.m

次要文件.m

有人可以告诉我如何模块化/创建多个文件 UITesting 类。