是否可以将 Webpack/VueJS 与 Odoo 框架 (v12) 集成?

Is it possible to integrate Webpack/VueJS with the Odoo Framework (v12)?

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

有人有解决办法吗? 有可能吗?

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

我也看到 Odoo 有自己的 JS 框架,但我找不到好的tutorials/documentation。

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

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

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

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

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

此外,使用 Axios 进行 JSON-RPC API 调用非常简单。所以直接从你的 Vue 项目转到服务器的 JSON-RPC API。

这就是我在 odooinvue.org 所做的,它基本上是一个在后端使用 Odoo 的 Vue 项目。该项目专为尝试在后端使用 Odoo 但由于不熟悉 Odoo 开发而遇到困难的 Vue 开发人员设计。

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

我自己没试过