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

Loading modules in qooxdoo desktop (browser environment)

本文关键字:加载 模块 环境 浏览器 qooxdoo 桌面      更新时间:2023-09-26

我正在努力如何集成客户端模块,如-只是作为一个例子-阿波罗客户端到qooxdoo特定的generate.py工作流中,以便它们在浏览器中可用。

根据安装说明:

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

旁注:我目前使用Babel 6递归地将我所有的源代码从一个单独的文件夹source.es6/编译到"官方"source/文件夹,然后由generate.py监视和处理。有没有可能用这个来解决我的问题?

噢,我希望至少能看到与Webpack、Browserify或SystemJS的某种集成。

我建议你这样做。首先,从Apollo Client和它的依赖中创建一个可加载的包,例如使用Webpack。然后确保这些包在你加载qooxdoo应用程序之前加载在你的网页中。然后阿波罗API对你的qooxdoo代码可用。

如果您选择使用<script>标签部署Apollo包,您可以通过使用add-script配置键让generate.py执行此操作。

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

我不认为你用Babel6编译在这里会有帮助。Apollo代码已经是可消费的,您不会想要拆分它并使其成为qooxdoo (es6)源代码树的一部分,更不用说它的依赖项了。我宁愿把它当作一个压缩包装的JS库,就像我描述的那样,像一个资源一样添加。