heroku 上部署node.js的几个注意点

简介: 由于课程设计需要把网站发布到heroku上,今天试着把以前用angularJs开发的一个前端应用部署上去,在部署的过程中遇到几个注意点,在此进行记录。

由于课程设计需要把网站发布到heroku上,今天试着把以前用angularJs开发的一个前端应用部署上去,在部署的过程中遇到几个注意点,在此进行记录。

package.json中需要指定node的版本

本地开发node运行时是通过系统环境变量找到的,因此不需指定版本,但部署到heroku上时,由于heroku需要根据版本号去下载对应版本的nodejs,因此必须指明node的版本,个人感觉可能heroku的部署原理类似于Docker,官方的文档在Heroku Node.js Support
package.json中的配置如下:

"engines": {
    "node": "4.4.0",
    "npm": "2.1.x"  //npm 的版本不需指明,可选  
  }, 

开发依赖项要放入dependencies中,如bower, http-server等

我在前端项目中用到了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"
    },

官方文档在这里Troubleshooting Node.js Deploys

启动http服务器时,指定的端口应使用$PORT

$PORT应该是heroku指定的一个发布网页应用的端口,其他端口不可用
,官方的文档说明在这里Runtime Principles

目录
相关文章
|
3月前
|
负载均衡 监控 JavaScript
pm2 工具在 Node.js 开发和部署中的重要作用
pm2 工具在 Node.js 开发和部署中的重要作用
48 0
|
4月前
|
人工智能 JavaScript Linux
Nuxt.js在centos7上的发布部署
Nuxt.js在centos7上的发布部署
Nuxt.js在centos7上的发布部署
|
4月前
|
前端开发 应用服务中间件 nginx
Next.js 创建项目到服务器部署(目录结构介绍、项目结构Demo、开发细节注意)
Next.js 创建项目到服务器部署(目录结构介绍、项目结构Demo、开发细节注意)
344 0
|
7月前
|
域名解析 监控 JavaScript
宝塔面板pm2管理器部署node.js(express框架)sever文件,可以使用域名访问你的后端项目
宝塔面板pm2管理器部署node.js(express框架)sever文件,可以使用域名访问你的后端项目
427 0
|
3天前
|
JavaScript Linux 数据安全/隐私保护
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
|
1月前
|
JavaScript Docker 容器
利用docker部署Node-RED
利用docker部署Node-RED
77 1
|
4月前
|
JavaScript 前端开发 Java
Spring Boot中Node.js的下载与Vue CLI在IDEA中的部署及使用(图文解释 简单易懂)
Spring Boot中Node.js的下载与Vue CLI在IDEA中的部署及使用(图文解释 简单易懂)
46 0
|
5月前
|
Kubernetes 前端开发 Linux
suse 12 二进制部署 Kubernetets 1.19.7 - 番外篇 - 增加node节点
suse 12 二进制部署 Kubernetets 1.19.7 - 番外篇 - 增加node节点
46 0
|
6月前
|
弹性计算 开发框架 JavaScript
SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上试读版
SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上试读版
68 0
|
6月前
|
JavaScript 前端开发 API
如何使用 JavaScript 代码连接部署在 SAP ABAP 服务器上的 OData 服务试读版
如何使用 JavaScript 代码连接部署在 SAP ABAP 服务器上的 OData 服务试读版
35 0