1

我想通过 WebPack 将 VueJS 集成到我的一个自定义 Odoo 模块中,并在我启动 Odoo-bin 时让它自动启动。

有没有人有办法解决吗?甚至可能吗?

我知道你可以将 VueJS 作为一个简单的 .JS 文件包含在模块的模板中,但这意味着我不能使用 WebPack 支持的 .vue 组件。

我还读到 Odoo 有自己的 JS 框架,但我找不到好的教程/文档。

编辑:对于任何可能想知道我如何解决这个问题的人,这就是我所做的:

我在我的 Odoo 文件夹的根目录中使用npm init. 我在包中添加了一个启动脚本,用于启动 webpack 并将所有 vue 组件捆绑在 myAddons 文件夹(我存储自定义模块的位置)中,然后通过python odoo-bin ...命令启动 Odoo。剩下的就是用来npm start启动它。

这样,vue 组件被捆绑到单个 JS 文件中,然后我将其添加到我的模块的模板中。这有点不方便,因为必须手动完成第一个包才能知道需要将哪些 JS 文件导入模板。此外,我仍在尝试弄清楚如何分别捆绑每个模块的组件。一旦我找到合适的方法,就会更新它。...希望。

4

3 回答 3

2

默认情况下,odoo 前端部分大量构建在backbone, jquery, underscore. 如果要使用任何其他 JS 库,则必须确保它们之间的兼容性。JS 功能的 odoo 后端部分编写在web模块下,可以odoo/addons/web/static/src/js在 odoo 社区代码的目录中找到。电子商务/网站部分位于website*模块下。

于 2019-01-19T11:25:33.450 回答
2

除了 Odoo JS API 文档基本上不存在(截至我发布此文档时)这一事实之外。我还要补充一点,与调用 Odoo 的 JSON-RPC 相比,它就像使用移动目标一样直接使用 API,因为他们的 JSON-RPC API 在不同版本的 Odoo 上变化很小。

此外,使用 Axios 进行 JSON-RPC API 调用非常简单。因此,只需从您的 Vue 项目中直接访问服务器的 JSON-RPC API。

这就是我在odooinvue.org所做的事情,它基本上是一个在后端使用 Odoo 的 Vue 项目。该项目是专门为 Vue 开发人员设计的资源,这些开发人员试图在后端使用 Odoo,但由于他们是 Odoo 开发的新手而遇到困难。

于 2020-07-31T22:09:13.310 回答
0

我建议尝试@StartupGuy 的 odooinvue,它真的很棒。他们使用 Odoo 14 创建了一个新的现代前端框架:Owl 框架

我自己没有尝试过。

于 2021-05-03T09:22:54.303 回答