使用 DUmi 创建项目并发布部署在 github-pages

1,302 阅读2分钟

使用 DUmi 创建项目并发布部署在 github 上,需准备一个 git 仓库,并设置为公开,settings --> Pages,设置 Source branch 为 gh-pages /(root)

1. 创建项目

文档模式 : yarn create @umijs/dumi-lib

站点模式 : yarn create @umijs/dumi-lib --site

安装依赖 : yarn / npm install

启动项目 : npm run start

2. 相关配置

  • .umirc.ts :

import { defineConfig } from 'dumi';

//github仓库名称
const defaultPath = '/sum-up'; 
//打包后gh-pages默认会拼接仓库名称在路径上
const baseUrl = process.env.NODE_ENV === 'production' ? defaultPath : '';

const logo = `${baseUrl}/images/logo.png`;

export default defineConfig({
  base: defaultPath,
  publicPath: `${baseUrl}/`,
  title: '标题',
  favicon: logo,
  logo: logo,
  outputPath: 'docs-dist',
  mode: 'site',
  extraBabelPlugins: [
    [
      'babel-plugin-import',
      {
        libraryName: 'antd',   //配置antd全局样式
        libraryDirectory: 'es',
        style: true,
      },
    ],
  ],
});

  • package.json :
"private": false,   //仓库必须公开,请保证github仓库也是公开的
"main": "dist/index.js",
"module": "dist/index.esm.js",
"typings": "dist/index.d.ts",

3. 文档编辑

dumi提供一系列配置项,允许使用不同的方式构建页面。

1,约定式路由。dumi 会对 Markdown 文档的目录自动做『文档路由』及『资产路由』的概念拆分。默认情况下,docs 目录下的 Markdown 文档及.dumi/pages 下的 React 组件会根据目录结构解析为文档路由,src 目录下第一层级的 Markdown 文档会被解析为 /components 下的资产路由,我们可以通过配置项 resolve.atomDirs 对资产路由前缀及解析目录进行更改。

2,结合 dumi 提供的配置项,既可以使用 Markdown 文件构建页面,也可以通过 React 组件的方式构建。

具体配置参考dumi:d.umijs.org/guide/page-…

4. 构建发布

  • 打包 : npm run build 这个文件夹是可以直接被 publish 到 npm 官方库里面的,里面同时包含了 esm 与 cjs 两种生成文件

  • 编译文档 : npm run docs:build 会生成 docs-dist 文件夹,里面就包含了 DEMO 网站了

  • 发布 : npm run docs:deploy 将文档文件夹,发布到当前 github 的分支 gh-pages 上面