如何在gh-pages子文件夹中部署create-react-app?

时间:2018-08-19 14:50:08

标签: github-pages create-react-app

我仍在学习网络开发和课程,因此,我在为每所正在学习的学校设置单独的回购协议。 我在每个大型仓库中都有许多小项目,直到我开始使用create-react-app时才是没问题的,因为如果不使用deploy命令清除gh-pages上的其他项目文件夹,我将无法部署到gh-pages 。是否可以通过某种方式将其部署到gh-pages内的子文件夹中?

1 个答案:

答案 0 :(得分:1)

gh-pages具有-e--dest选项,用于指定将所有文件推送到哪个目录。

./node_modules/gh-pages/bin/gh-pages.js --help
  

用法:gh页[选项]

Options:

-V, --version            output the version number
-d, --dist <dist>        Base directory for all source files
-s, --src <src>          Pattern used to select which files to publish (default: **/*)
-b, --branch <branch>    Name of the branch you are pushing to (default: gh-pages)
-e, --dest <dest>        Target directory within the destination branch (relative to the root) (default: .)
-a, --add                Only add, and never remove existing files
-x, --silent             Do not output the repository url
-m, --message <message>  commit message (default: Updates)
-g, --tag <tag>          add tag to commit
-t, --dotfiles           Include dotfiles
-r, --repo <repo>        URL of the repository you are pushing to
-p, --depth <depth>      depth for clone (default: 1)
-o, --remote <name>      The name of the remote (default: origin)
-v, --remove <pattern>   Remove files that match the given pattern (ignored if used together with --add). (default: .)
-n, --no-push            Commit only (with no push)
-h, --help               output usage information

因此,您可以将package.json更改为具有以下部署脚本。

  "scripts": {
    "predeploy": "npm run build",
    "deploy": "gh-pages -d build -e project-directory-name",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }

"deploy": "gh-pages -d build -e project-directory-name",中的每个项目中,您都必须使用不同的名称