我想通过WebPack将VueJS集成到我的自定义Odoo模块之一中,并在启动Odoo-bin时使其自动启动。
有人可以解决吗? 可能吗
我知道您可以将VueJS作为简单的.JS文件包含在模块模板中,但这意味着我不能使用WebPack支持的.vue组件。
我还读到Odoo有自己的JS框架,但是我找不到很好的教程/文档。
编辑:对于任何想知道我如何解决此问题的人,这就是我所做的:
我使用npm init
在Odoo文件夹的根目录中初始化了package.json文件。我在程序包中添加了一个启动脚本,该脚本可启动webpack并将所有vue组件捆绑在myAddons文件夹(用于存储自定义模块的文件夹)中,然后通过python odoo-bin ...
命令启动Odoo。剩下的就是使用npm start
来启动它。
这样,将vue组件捆绑到单个JS文件中,然后将其添加到模块的模板中。这带来了一个小麻烦,因为必须手动完成第一个捆绑软件才能知道需要将哪些JS文件导入模板。另外,我仍在尝试找出如何分别捆绑每个模块的组件。一旦找到正确的方法,它将进行更新。 ……希望如此。
答案 0 :(得分:1)
默认情况下,odoo前端部分很大程度上建立在backbone, jquery, underscore
之上。如果要使用其他任何JS库,则必须确保它们之间的兼容性。 JS功能的odoo后端部分是在web
模块下编写的,可以在odoo社区代码的odoo/addons/web/static/src/js
目录中找到。电子商务/网站部分位于website*
模块下。
答案 1 :(得分:0)
伴随着Odoo JS API文档基本上不存在的事实(截至我发布此消息之时)..我要补充一个事实,与调用Odoo相比,它就像在移动目标上工作直接使用JSON-RPC API,因为它们的JSON-RPC API在不同版本的Odoo上变化很小。
此外,使用Axios进行JSON-RPC API调用非常简单。因此,只需直接从Vue项目中转到服务器的JSON-RPC API。
这就是我在odooinvue.org所做的事情,这基本上是一个Vue项目,在后端使用Odoo。该项目是专门为Vue开发人员提供的资源而设计的,这些开发人员试图在后端使用Odoo但由于Odoo开发的新手而遇到困难。
答案 2 :(得分:0)
我建议尝试@StartupGuy 的odooinvue,它真的很棒。 他们使用 Odoo 14 创建了一个新的现代前端框架:Owl framework。
我自己没试过。