环境搭建和项目框架
prequisites
const app = express();复制代码
- 监听工作是由node完成的,node将监听到的请求转发给express,express再把请求转发到对应的route handler
- 创建route handler,定义对于某种类型的请求,做何种处理,产生什么样的响应
app.get('/', (req, res) => {
res.send({ hi: 'there' });
});
// 处理路由为根目录的GET请求
// =>function: 处理这个route的handler,一旦express app接到route为'/',method为GET的请求,这个函数就会执行
// req: 传入代表请求的参数,携带有关请求的所有信息
// res: 返回响应的参数,通过res可以定制这个route的响应
// res.send 返回响应的内容,立即执行(返回)复制代码
- 让express app告诉node去监听服务器上的某个端口
app.listen(5000);
// express告诉node去监听5000端口,也就是浏览器只有在访问5000端口时,上述的一切才会发生 (see diagram)复制代码
- 启动server
node index.js复制代码
将应用部署到heroku中
- 动态绑定端口,之前我们在代码中指定监听端口为5000,在heroku中,可能会动态分配端口,因此我们需要使app能够监听动态分配的端口,因此修改监听部分的代码如下
const PORT = process.env.PORT || 5000;
app.listen(PORT);
// 如果不是heroku运行我们的app,也就是说在开发环境下,process.env.PORT是undefined复制代码
- 配置package.json,让heroku知道node和npm的版本
"engines": {
"node": "^8.1.1",
"npm": "^5.0.3"
},复制代码
- 配置package.json,让heroku知道如何启动app
"scripts": {
"start": "node index.js"
},复制代码
- 创建
.gitignore
,确保node_modules
不会被git提交 git commit -am 'some msg'
- 创建heroku账户 www.heroku.com
- 安装
heroku cli
## 对于MAC OS用户
## 如果没有安装homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
## 安装heroku
brew install heroku复制代码
- 对于其他操作系统,devcenter.heroku.com/articles/he… 提供了对应的安装方法
- 如果是第一次在命令行 中使用heroku,需要命令
heroku login
输入刚才创建的账户邮箱和密码 - 在工程根目录下输入命令
heroku create
创建heroku app,命令运行成功后,控制台会输出两个链接(如下),第一个是访问我们app的域名,第二个是一个git远程仓库地址,我们app的代码以后就push到这个仓库中https://peaceful-crag-47199.herokuapp.com/
|
https://git.heroku.com/peaceful-crag-47199.git复制代码
- 将上一步返回的git远程仓库添加到我们的本地git配置中去
git remote add heroku https://git.heroku.com/peaceful-crag-47199.git复制代码
- 以后每次我们push代码到这个git仓库时,heroku会完成自动部署,在push代码后可以看到控制台返回部署的log
git push heroku master复制代码
- 如果部署过程中出现了任何问题,可以用
heroku logs
查看日志 - 在工程目录下运行
heroku open
,打开刚才部署的应用