本文共 965 字,大约阅读时间需要 3 分钟。
由于课程设计需要把网站发布到heroku上,今天试着把以前用angularJs开发的一个前端应用部署上去,在部署的过程中遇到几个注意点,在此进行记录。
本地开发node运行时是通过系统环境变量找到的,因此不需指定版本,但部署到heroku上时,由于heroku需要根据版本号去下载对应版本的nodejs,因此必须指明node的版本,个人感觉可能heroku的部署原理类似于Docker,官方的文档在
package.json中的配置如下:"engines": { "node": "4.4.0", "npm": "2.1.x" //npm 的版本不需指明,可选 },
我在前端项目中用到了bower包管理器,主要管理一些前端框架,如Jquery,Bootstrap等,因此我的页面能够正常访问的前提是bower install能够正常执行,但由于我开发时将bower放在了package.json中的devDependecies中,因此在部署到heroku上后,它在npm install时默认忽略了devDependecies中的内容,包括bower,因此导致页面无法访问,配置如下:
"dependencies": { "karma": "^0.13.21", "karma-chrome-launcher": "^0.1.4", "karma-firefox-launcher": "^0.1.3", "karma-jasmine": "~0.1.0", "protractor": "^2.1.0", "http-server": "^0.9.0", "tmp": "0.0.23", "bower": "^1.3.1", "shelljs": "^0.2.6" },
官方文档在这里
$PORT应该是heroku指定的一个发布网页应用的端口,其他端口不可用
,官方的文档说明在这里转载地址:http://hvall.baihongyu.com/