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