Start Express Frameworks
来源:互联网 发布:linux sed命令 编辑:程序博客网 时间:2024/06/16 19:35
说起来我也觉得很羞愧,一把年纪还写这种入门的文章,还是权当做个记录吧。前段时间都在写RTMP的东西(用NIO实现RTMP协议,在手机推流和收流),后面写完再补文章出来。前天同事问我要不要弄一个Kotlin China的社区,感觉应该会挺有趣的,所以这段时间会抽一半的时间来写WEB端的东西。项目地址在:
https://github.com/Kotlin-lang-CN/Kotlin-CN
https://github.com/Kotlin-lang-CN/Kotlin-CN/tree/dev/web
之前写手机网页是用ASP.NET MVC(C# HTML JS CSS),没用过其他的框架,一开始是徒手写静态网站的,写完一个之后发现头部和尾部都是复用的,粘贴HTML好笨拙。
下面是STEP BY STEP:
(建议:不要用任何IDE,直接找官网express )
1,安装:
npm install express –save
2,快速生成
npm install express-generator -g –hbs
3,构建输出
npm install && DEBUG=kotlin-cn-app-web:* npm start
然后访问本地3000端口,就可以用了。
遇到几个问题:
1,怎么插入复用头部和尾部的东西
进入到根目录下,找到
app.js
var hbs = require('hbs');hbs.registerPartials(__dirname + '/views/partials');
layout.hbs
<!DOCTYPE html><html> <head> <title>{{title}}</title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> {{{body}}} {{> footer }} </body></html>
mkdir views/partials
vim views/partials/footer.hbs
<div id="foot"> FOOTER</div>
重新打开一下就有尾部,头部也是一样的道理。
npm install && DEBUG=kotlin-cn-app-web:* npm start
2,如何进行页面路由(或者说有多个页面怎么跳转)
vim app.js
app.set('views', [path.join(__dirname, 'views'),path.join(__dirname, 'views/layouts')]);var account = require('./routes/account');app.use('/account',account);
vim rountes/account.js
var express = require('express');var router = express.Router();/* GET account page. */router.get('/', function(req, res, next) { res.render('account', { title: 'Account' });});module.exports = router;
mkdir views/layouts
vim views/layouts/account.hbs
<p>HELLO ACCOUNT</p>
重新打开一下
npm install && DEBUG=kotlin-cn-app-web:* npm start
访问:
http://localhost:3000/account
3,如何解决本地服务器和远端服务器分离导致的跨域导致的本地无法调试
用nginx反向代理远端的服务器就可以了,设置如下(mac):
sudo vim /usr/local/etc/nginx/nginx.conf
http{...server{ listen 9080; server_name localhost; location /api { proxy_pass http://182.92.83.183; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / { proxy_pass http://127.0.0.1:3000; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}}
sudo nginx -s reload
上面的意思就是
1,把远端的”http://182.92.83.183:80/api“开头的东西代理到本地”http://localhost:9080/api”
2,把本地“http://127.0.0.1:3000“代理到“http://localhost:9080“
完
- Start Express Frameworks
- Express-start
- Frameworks
- Node.js express NPM start error, Exit Status 8
- express
- express
- Express
- express
- Express
- express
- Express
- express
- Express
- express
- express
- Express
- Ajax Frameworks
- PHP Frameworks
- Cannot be cast to java.lang.Comparable异常
- hive+haproxy+keepalived高可用配置
- 进程特征码遍历VC版
- Docker资源管理探秘:Docker背后的内核Cgroups机制
- AVL树的平衡化旋转
- Start Express Frameworks
- 基于fread()函数的读数据优化
- 人脸特征点提取—ASM算法
- Java 中 Timers 类
- Java学习笔记--反射
- dubbo接口访问控制
- 单源最短路径Dijkstra,C++\Java
- 鸟哥的linux私房菜学习笔记7
- 用c语言实现两个数的最大公因数与最小公倍数