在qooxdoo桌面(浏览器环境)中加载模块

时间:2016-09-16 14:47:19

标签: javascript frameworks qooxdoo

我正在努力整合如何集成客户端模块 - 仅作为示例 - Apollo Client 进入qooxdoo特定的generate.py工作流程,以便它们在浏览器中可用。

根据installation notes

  

要在网络浏览器或移动应用中使用此客户端,您需要一个能够在客户端上加载NPM包的构建系统。一些常见的选择包括Browserify,Webpack和Meteor 1.3。 [...]

旁注:我目前使用Babel 6将我的所有来源从一个单独的文件夹source.es6/递归转换为"官方" source/文件夹,然后由generate.py进行观看和处理。有可能以某种方式使用它来解决我的问题吗?

OTOH,我很想看到至少与Webpack,Browserify或SystemJS的某种集成。

1 个答案:

答案 0 :(得分:1)

我建议你做以下事情。首先,从Apollo客户端及其依赖项创建一个可加载的包,例如:使用Webpack。然后在加载qooxdoo应用程序之前确保这些软件包已加载到您的网页中。然后,您的qooxdoo代码可以使用Apollo API。

如果您选择使用<script>标记部署Apollo软件包,则可以generate.py使用add-script配置密钥执行此操作。

我建议您将Webpack的输出放在qooxdoo项目的resource路径中,并在主qooxdoo类中为这些文件添加@asset提示。这将确保将它们复制到您应用的build版本中,并且您可以直接在index.htmladd-script配置设置中使用这些文件的相对URI。

我不认为你在Babel6上的转换会有所帮助。 Apollo代码已经是可以使用的,你不想将它作为你的qooxdoo(es6)源代码树的一部分,更不用说它的依赖。我宁愿将它视为一个收缩包装的JS库,正如我所描述的那样,它被添加为资源。