如何通过gh页面提供Web项目?

时间:2016-04-15 14:37:40

标签: angularjs git web hosting yeoman-generator

我在https://github.com/yeoman/generator-angular的顶部创建了一个简单的Web项目。

这会产生一个很棒的项目环境,支持bower和grunt,其中.js,.html和.css文件位于名为“app”的文件夹中(与https://github.com/jgatjens/angular-pokemon类似的结构)。

在localhost中,一切都很好用。我运行命令代码(grunt serve),它开始运行到浏览器中。但是,我无法在线提供相同的服务。

重要的是要强调我不想“正式发布”,我只想能够向我的朋友发送链接,所以他们可以尝试(如用户所愿)并给我反馈。

我不是在谈论共享代码。我只想让它一旦完成就可以使用它。

例如,如果我转到https://ng-pokemon.firebaseapp.com,我可以尝试使用存储库https://github.com/jgatjens/angular-pokemon

如何使用gh-pages使子文件夹项目可用?(在本例中为“/ app”)

有关我怎么能这样做的任何线索?

我只是一个在制作网络项目方面没有多少经验的爱好者。

提前致谢, 罗杰。

2 个答案:

答案 0 :(得分:0)

Bitbucket by Atlassian offers free unlimited private hosting for Git for small teams. I've used them in the past for various private projects.

https://bitbucket.org/

If you want your friends to simply view some code and give feedback, it might be easier to just share a secret gist with them rather than setting up an entire repo.

https://gist.github.com/

Edit: Since you are actually looking to host as opposed to sharing your code, you will need to find a hosting solution.

答案 1 :(得分:0)

我终于弄明白在构建在子文件夹结构中的项目的情况下应该做些什么。顺便说一句,这是自耕农项目的标准。

毕竟,我发现 gh-pages执行服务。 为此,我需要:

1 - 为构建项目的子文件夹创建一个子树,并将其推送到gh-pages分支。

git checkout master # you can avoid this line if you are in master...
git subtree split --prefix dist -b gh-pages # create a local gh-pages branch      containing the splitted output folder
git push -f origin gh-pages:gh-pages # force the push of the gh-pages branch to the remote gh-pages branch at origin
git branch -D gh-pages # delete the local gh-pages because you will need it: ref

2-之后,http://username.github.io/projectname页面链接已经识别出index.html页面。但是,我仍然缺少由凉亭自动创建的库引用。因此,只需将文件夹bower_components复制并粘贴到“/ app”文件夹中即可。

3 - 我再次对分支进行了更新,它运行得很好。

ps_1:可能如果我必须添加一个新库,我需要将其从我的外部bower_components手动复制到我的内部bower_components。

ps_2:我还创建了一个繁琐的任务来促进进一步部署:

grunt.task.registerTask('push-pages', function(){
   var shell = require('shelljs');
    shell.exec('git subtree split --prefix docs -b gh-pages');
    shell.exec('git push -f origin gh-pages:gh-pages');
    shell.exec('git branch -D gh-pages')
});

所以,我只是运行'grunt push-pages'并完成GitHub页面上的更新。

ps_2.1:要做到这一点,“shelljs”是必需的。就我而言,我在npm package.json上添加了它,只是为了确保我永远不会忘记它。

它不是地球上最好的解决方案,但它运行良好=)。

font:https://gist.github.com/cobyism/4730490