如何将Angular 2 App部署到Github Pages?

时间:2017-03-09 06:50:21

标签: javascript angularjs node.js github

我几周前能够将使用Angular Cli工具制作的应用程序发布到Github Pages,但现在当我尝试使用命令ng github-pages: deploy时,我收到错误:The specified command github-pages:deploy is invalid.。此github thread表示该命令最近已被删除,而petersgiles建议遵循这些指南而不是发布页面:

1. npm install -g angular-cli-ghpages (doesn't work if its not global)
2.Then in your package.json
"scripts": { "deploy": "ng build -sm -ec -bh /repo name/ & ngh --silent=false",...
3.when you want to deploy npm run deploy

我按照这些说明操作,但收到错误:Failed at the mybiography@0.0.0 deploy script 'ng build -sm -ec -bh /aboutme/ & ngh --silent=false'.我的npm和节点js是最新的,错误表明问题出在我的package.json文件中。

我的终端继续呈现我的程序的所有五个块,但是没有链接可以关注该网站。有什么办法可以解决这个问题吗?我完成了我的网站,只需要一个地方来托管它。我作为初学者很失落,所以请指出任何明显的错误或遗漏信息。

的package.json

{
  "name": "aboutme",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "deploy": "ng build -sm -ec -bh /aboutme/ & ngh --silent=false",
    "ng": "ng",
    "start": "ng serve",
    "test": "ng test",
    "pree2e": "webdriver-manager update --standalone false --gecko false",
    "e2e": "protractor"  },
  "private": true,
  "dependencies": {
    "@angular/common": "^2.3.1",
    "@angular/compiler": "^2.3.1",
    "@angular/core": "^2.3.1",
    "@angular/forms": "^2.3.1",
    "@angular/http": "^2.3.1",
    "@angular/platform-browser": "^2.3.1",
    "@angular/platform-browser-dynamic": "^2.3.1",
    "@angular/router": "^3.3.1",
    "core-js": "^2.4.1",
    "rxjs": "^5.0.1",
    "ts-helpers": "^1.1.1",
    "zone.js": "^0.7.2"
  },
  "devDependencies": {
    "@angular/cli": "^1.0.0-rc.1",
    "@angular/compiler-cli": "^2.3.1",
    "@types/jasmine": "2.5.38",
    "@types/node": "^6.0.42",
    "codelyzer": "~2.0.0-beta.1",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.2.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "~4.0.13",
    "ts-node": "1.2.1",
    "tslint": "^4.3.0",
    "typescript": "~2.0.3"
  }
}

4 个答案:

答案 0 :(得分:1)

只是想更新这篇旧帖子,并在这篇SO帖子中找到了对我有用的答案:how to publish to github pages?

有一个新的angular cli命令可以推送到gh-pages,旧的命令不再有效。所以你必须install the new command,构建项目,然后执行push命令。

答案 1 :(得分:1)

试试这个:(对于mac)(不需要对package.json进行任何更改):

  1. n = [2, 1][n - 1]

  2. 将您的代码推送到github仓库,然后在终端中运行:$ npm install -g angular-cli-ghpages此处 '命名为yourprojectname'是你的github仓库的名称,而不是你的本地 回购。

  3. 如果一切正常,请运行:ng build --env=prod --base-href "https://yourgithubusername.github.io/yourprojectname/"并输入密码。

答案 2 :(得分:0)

我怀疑ngh --silent=false会抛出错误。在此答案时运行带有详细输出的angular-cli-pages的命令是ngh --no-silent

如果您想更新部署脚本,请查看angular-cli-pages doc以获取要构建和部署的命令:

> ng build --prod --base-href "https://USERNAME.github.io/REPOSITORY/"
> ngh --no-silent

答案 3 :(得分:0)

这是没有任何第三方插件的简单方法,您可以将Angular项目部署到GitHub页面。

第1步:打开角度仓库的angular.json

步骤2:将dist/your-project-name更改为docs/

步骤3:ng build --prod --base-href=https://username.github.io/respository-name/

将用户名更改为GitHub用户名,将respositoryName更改为项目的存储库名称。

第4步:将docs文件夹提交到本地存储库并推送到github。 git add . git commit -m "generated deployables" git push -u origin master

第5步:打开Github存储库并打开设置

步骤6:在github页面中选择master branch /docs folder

恭喜!

Here已通过分步详细指南文章进行了验证,有关如何将Angular项目部署到github页面的信息,如果您需要更详细的文章,请参阅。