一、前后端启动
1. 前后端配置
-
前端需要的环境
Git + node + yarn + VsCode(开发工具)
备注:yarn 和 npm镜像源改为taobao镜像,加快依赖包下载速度,防止出现clj文件夹的下载错误,node版本为LTS最新版,yarn版本1.x
-
后端需要的环境
OpenJDK11(或者11以上版本皆可) + Clojure + Cursive + IDEA(开发工具)
备注: Clojure可以通过brew命令直接安装最新版,IDEA中直接选择plugin安装Cursive
2.前后端启动
github下载master分支代码,当然也可以下载其他分支代码,官网推荐master,前端删除./yarn.lock文件后,执行:
yarn
安装完成后,删除./yarn.lock文件,执行:
yarn build-hot
备注:需要进行前端开发的,执行此命令(热更新:当编辑前端代码后能及时反应出来),如若只需要编辑后端代码,执行yarn build。
补充:yarn安装依赖包时可能会出现cypress安装不上的问题,此问题cypress-io有人回答,粘贴github issues地址:cypress-io/cypress#26228
后端通过在IDEA中的"File -> New -> Project from existing sources"路径打开metabase文件夹,通过执行此命令启动后端服务:
clojure -M:run
二、定制化开发
1. 定制化logo
./frontend/src/metabase/components/LogoIcon/LogoIcon.jsx文件下修改
官网推荐使用svg,图片存储在./resources/frontend_client/app/assets/img/XXXX.svg
2. 修改项目启动后的默认语言
./src/metabase/public_settings.clj
将"en"修改成"zh"后,项目重新启动
3. 编辑po文件后更新视图
IDEA执行此命令,更新bin文件夹
clojure -X:build:build/i18n
然后执行此命令,将po文件转换成json文件,放到./resources/frontend_client/app/locales文件夹下
./bin/i18n/update-translation-template
最后执行后端启动命令即可
clojure -M:run
三、前端仓库代码提交
由于metabase在commit时做了格式校验,格式不通过会失败,此时可以执行此命令,跳过校验,直接commit
git commit -m"xxxxxxxx" --no-verify