2020-09-24 15:25:12 +08:00
|
|
|
```
|
|
|
|
____ _ __ _
|
|
|
|
/ ___(_)_ _____ _ __ ___ ___ / _(_)_ _____
|
|
|
|
| | _| \ \ / / _ \ | '_ ` _ \ / _ \ | |_| \ \ / / _ \
|
|
|
|
| |_| | |\ V / __/ | | | | | | __/ | _| |\ V / __/
|
|
|
|
\____|_| \_/ \___| |_| |_| |_|\___| |_| |_| \_/ \___|
|
|
|
|
|
|
|
|
```
|
2020-09-15 18:35:00 +08:00
|
|
|
|
|
|
|
一个轻量级的,易学的,拓展性灵活的 nodejs MVC 框架, 5 分钟即可上手。取自"Give me five"之意, 一切就是这么简单
|
|
|
|
|
2020-09-24 15:25:12 +08:00
|
|
|
框架要求 nodejs 版本在 12.0 或以上, 并且只支持使用`import/export`
|
2020-09-15 18:35:00 +08:00
|
|
|
|
|
|
|
## 启用方法(步骤)
|
|
|
|
|
|
|
|
**注**
|
|
|
|
`本框架和用法 都是在 Linux 或者 Mac 下面测试通过。至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的、`
|
|
|
|
`甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦在安装过程无法继续时,自行兼容一下`
|
|
|
|
|
|
|
|
1. 下载安装 Five.js 框架。
|
|
|
|
|
|
|
|
* 为了方便下载安装及管理, 推荐使用 five-cli(这是一款专门为框架开发的脚本工具) 进行操作。
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
# 进入项目目录
|
2023-10-31 14:40:59 +08:00
|
|
|
cd /project/
|
2020-09-15 18:35:00 +08:00
|
|
|
# 初始化完成之后, 执行以下命令即可启动了,如果需要修改配置,可以先修改好再启动
|
2023-10-31 14:40:59 +08:00
|
|
|
npm create five
|
2020-09-15 18:35:00 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
2. 配置框架
|
|
|
|
|
|
|
|
建立启动文件, 如 app.js
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
2023-10-31 14:40:59 +08:00
|
|
|
import { createApp } from '@gm5/core'
|
2020-09-15 18:35:00 +08:00
|
|
|
|
2023-10-31 14:40:59 +08:00
|
|
|
const app = new createApp()
|
2020-10-06 11:02:45 +08:00
|
|
|
|
2020-09-24 15:25:12 +08:00
|
|
|
|
2020-09-15 18:35:00 +08:00
|
|
|
app.preload('./apps/') // [必须], 预加载应用目录
|
|
|
|
|
|
|
|
app.listen(3001) // 默认是3000
|
|
|
|
```
|
|
|
|
|
2023-10-31 14:40:59 +08:00
|
|
|
其他的配置和功能, 请参考 [文档](/gm5/request/wiki)。
|
2020-09-15 18:35:00 +08:00
|
|
|
|
|
|
|
|
2023-10-31 14:40:59 +08:00
|
|
|
3. 启动应用。在项目根目录打开终端, 输入以下命令 `npm create five`, 然后根据提示操作, 即可
|
2020-09-15 18:35:00 +08:00
|
|
|
|
|
|
|
```bash
|
2023-10-31 14:40:59 +08:00
|
|
|
pm2 start app.dev.yaml
|
|
|
|
# 正式环境执行
|
|
|
|
pm2 start app.yaml
|
2020-09-15 18:35:00 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
4. 添加 nginx 配置(使用其他 web 服务,如 apache 的童鞋,请自行根据所使用的 web 服务器语法改写**强烈推荐 nginx**), 路径啥的自行根据自己的机器修改
|
|
|
|
|
|
|
|
```nginx
|
|
|
|
upstream five_upstream {
|
2020-09-24 15:25:12 +08:00
|
|
|
server 127.0.0.1:3001;
|
|
|
|
#server 127.0.0.1:3002;
|
2020-09-15 18:35:00 +08:00
|
|
|
keepalive 64;
|
|
|
|
}
|
|
|
|
|
|
|
|
server {
|
|
|
|
|
|
|
|
listen 80;
|
2020-09-24 15:25:12 +08:00
|
|
|
server_name abc.com;
|
2020-09-15 18:35:00 +08:00
|
|
|
index index.html index.htm;
|
2020-09-24 15:25:12 +08:00
|
|
|
root /www/abc.com/public;
|
2020-09-15 18:35:00 +08:00
|
|
|
|
2020-09-24 15:25:12 +08:00
|
|
|
location ~ ^/(images/|js/|css/|upload/|favicon.ico|robots.txt) {
|
2020-09-15 18:35:00 +08:00
|
|
|
expires 1d;
|
|
|
|
access_log off;
|
|
|
|
}
|
|
|
|
|
|
|
|
location / {
|
|
|
|
try_files $uri
|
|
|
|
@proxy;
|
|
|
|
}
|
|
|
|
|
|
|
|
location @proxy {
|
|
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
|
|
proxy_set_header Host $http_host;
|
2023-10-31 14:40:59 +08:00
|
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
2020-09-15 18:35:00 +08:00
|
|
|
proxy_set_header X-NginX-Proxy true;
|
|
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
|
|
proxy_set_header Connection "upgrade";
|
|
|
|
proxy_http_version 1.1;
|
|
|
|
proxy_max_temp_file_size 0;
|
|
|
|
proxy_pass http://five_upstream;
|
|
|
|
proxy_redirect off;
|
2023-10-31 14:40:59 +08:00
|
|
|
proxy_read_timeout 60s;
|
2020-09-15 18:35:00 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-09-24 15:25:12 +08:00
|
|
|
5. 请开始你的表演。
|
2020-09-15 18:35:00 +08:00
|
|
|
|
|
|
|
## 版权说明
|
|
|
|
|
|
|
|
> 本框架使用 MIT 开源协议, 一切的使用,请遵循 MIT 协议。
|