使用angular-cli-ghpages将Angular4部署到ghpages时出错

时间:2017-06-06 08:56:45

标签: angular deployment angular-cli github-pages

我正在尝试将一个简单的Angular 4应用程序部署到gh-pages。我已经尝试了几种方法,似乎angular-cli-ghpages是最新的方法。

我已按照npm angular-cli-ghpages page上的说明进行操作。

首先我成功安装了angular-cli-ghpages,

$ sudo npm i -g angular-cli-ghpages

这个命令在没有sudo的情况下不起作用。

接下来,我创建了dist文件夹并设置了base-href,

$ ng build --prod --base-href" https://shanegibney.github.io/mathapp/"

然后我部署了,

$ ngh

但这会产生错误,

输出可以在下图中看到,

enter image description here

运行angular-cli-ghpages而不是ngh会产生相同的错误,

enter image description here

我使用的是以下版本,

npm 3.10.10

angular-cli-ghpages ^ 0.5.1

节点6.9.4(这里不是真正的问题)

由于

6 个答案:

答案 0 :(得分:5)

我通过将以下内容添加到package.json,

中脚本对象的末尾来解决这个问题
"scripts": {

   "deploy": "ng build --prod --base-href 
   https://shanegibney.github.io/mathapp/ && angular-cli-ghpages --branch 
   gh-pages"
}

然后跑了,

$sudo npm run deploy

所以看起来需要的是'--branch gh-pages'作为一个选项,但是在npm页面上没有任何关于angular-cli-ghpages的建议。

注意如果单独运行这些命令而不通过package.json我发现它不起作用,

$ sudo ng build --prod --base-href https://shanegibney.github.io/mathapp/

$ sudo angular-cli-ghpages --branch gh-pages

blog post

上的shermandigital.com获得帮助

答案 1 :(得分:5)

我在上周(Live)将Angular2应用程序部署到gh-pages。但我没有使用

angular-cli-ghpages页面。

使用这些依赖项 -

  • @ angular / cli":" ^ 1.2.0
  • @ angular / compiler-cli":" ^ 2.3.1

现在需要将我们的项目构建为minifiles css和js。 这样做只需在角度项目中运行此代码

ng build --prod--aot --base-href "https://username.github.io/repo-name/" 

如果编译时遇到问题 在angular-cli.json文件中替换此代码

"environments": {
  "source": "environments/environment.ts",
  "dev": "environments/environment.ts",
  "prod": "environments/environment.prod.ts"
}

"environmentSource": "environments/environment.ts",
"environments": {
  "dev": "environments/environment.ts",
  "prod": "environments/environment.prod.ts"
}

成功编译后(100%) 只需运行此命令即可部署到gh-pahes

ngh --message "Deploy gh pages"

答案 2 :(得分:3)

我以超级用户身份运行命令,但它确实有效。试试吧。如果没有,请使用--no-silent运行命令以获取更多详细信息。例如:

sudo angular-cli-ghpages --no-silent

答案 3 :(得分:3)


首先,您必须配置电子邮件和用户名 然后从头开始使用下面的命令

git init

git remote add origin https://github.com/<yourname>/<repo>.git

git config --global user.email <email>

git config --global user.name <username>

ng build --prod --base-href https://<username>.github.io/<repo>/

ngh --dir=dist\<projectname>--no-silent

答案 4 :(得分:3)

您可以使用另一种方法,将以下脚本添加到有角项目的pacage.json文件中。

  1. “脚本”:{ // ... “ deploy”:“ ng b --prod --base-href https://.github.io// && ngh --dir = dist /” },

  2. 运行命令

    git config --global user.email

    git config --global user.name

    npm运行部署

答案 5 :(得分:2)

在git push origin master之后 gh-页面部署 步骤1:“ ng build --prod --base-href https://username.github.io/project-name/

第2步:“ ngh --dir dist / project-name”

替换项目名称 和具有github用户名,项目名的用户名