需求背景
公司需要搭建一套产品的使用手册、服务端需要提供一份公共的API接口文档、后续前端需要搭建一套公共的组件库
选择dumi主要是朋友推荐,可在落地过程中,却遇到很多的问题,dumi的官方文档可以说是晦涩难懂,很多配置参数都没有给到示例,导致遇到了一些问题,写这篇文章以方便后来者,也便于后续自己复习。`
解决流程
-
首先明确版本,我们使用的是dumi2.0版本,跟1.x的文档不一样,官方文档可参考:https://d.umijs.org/
-
我们先进入官方文档
-
确保node版本在14+,如果未安装可以其他文章进行安装,需要注意的是很多文档会让你设置淘宝的npm镜像,要用最新的(https://registry.npmmirror.com
),旧的已经用不了了 -
接下来就可以开始新建目录了,新建一个空文件夹,并使用终端进入这个文件夹,运行命令
npx create-dumi
,此时会让你选择那种模式
此处我们选择第一个静态站点即可,后面的选择npm账户,因为我们只是一个静态文档站点,因此随意选择即可,我这边选择的是npm,后面会要求填一些项目信息及个人信息,按公司要求填或者随便填都行。填完之后就等着下载文件。 -
接下来输入
npm start
就可以启动dumi啦,直接通过localhost:8080就可以访问到
-
下面我将目前已有的文件提交到gitlab,然后想在一台linux服务器上部署,因为这台服务器上已经部署了nginx,还有其他的一些前端服务,因此无法直接使用根目录部署,需要设置两个参数,分别是base以及publicPath,这两个参数在官方文档解释的比较模糊,可以直接参考我这边的处理方式。例如你的前端文件根路径是/home/www/,你的dumi路径是/home/www/dumi/,此时需要把base和publicPath均设置为/dumi/dist/,以此来修改获取文件的路径,如果不改动这两个参数,就会导致能够访问到页面,但页面一篇空白的情况,原因就是一些css、js文件获取404。
-
后续的流程就是开发md文件、提交gitlab,linux拉取文件(git pull)、linux重新build工程(npm run build),比较公式化,也可以使用jenkins进行部署,后续会更新如何使用jenkins部署。
写在最后
我是做后端开发的,对于前端以及一些插件的应用都不太熟练,在使用过程中很多次踩坑,这是我的第一篇文章,希望以后能够在工作学习的过程中,不断地记录输出一些内容,不至于成为百度工程师。谢谢大家。