You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular应用本地http-server正常,部署GitHub Pages及子域名时出错

Angular部署GitHub Pages问题解决方案

一、JS文件加载错误(空白页)

  • 不要手动修改index.html的base href,构建时通过参数指定更可靠:
    若为项目仓库(非用户主页仓库),执行:
    ng build --prod --base-href="/你的仓库名/" --output-path=www
    
    若为用户主页仓库(直接绑定用户名.github.io),则base-href设为/:
    ng build --prod --base-href="/" --output-path=www
    
  • 检查GitHub Pages部署源:在仓库设置的Pages页面,确认部署分支为master(或main),且目标目录为www。

二、.nojekyll文件无法纳入构建

  • 在项目根目录创建.nojekyll文件,修改angular.json的assets配置,将该文件加入构建资源:
    在projects -> 你的项目名 -> architect -> build -> options -> assets数组中添加:
    {
      "glob": ".nojekyll",
      "input": "./",
      "output": "./"
    }
    
    后续构建时,该文件会自动复制到www目录。
  • 若使用ng deploy,先确保安装依赖:
    npm install angular-cli-ghpages --save-dev
    
    部署命令直接指定参数:
    ng deploy --base-href="/你的仓库名/" --output-path=www
    

三、子域名访问异常

  • 确认自定义域名配置:在GitHub Pages设置页填写子域名,同时确保域名解析的CNAME记录指向你的用户名.github.io。
  • 适配子域名的base href:使用子域名时,base-href需设为/,构建命令为:
    ng build --prod --base-href="/" --output-path=www
    
  • 确保CNAME文件部署:在项目根目录创建CNAME文件,内容为你的子域名,同样将其加入angular.json的assets配置:
    {
      "glob": "CNAME",
      "input": "./",
      "output": "./"
    }
    

内容的提问来源于stack exchange,提问作者Barry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:32:31