宇天 1d4940b903 优化cors,更好的支持RESFULAPI 2021-04-14 15:34:58 +08:00
config 优化跨域配置;更新文档 2020-09-30 14:25:08 +08:00
middleware 优化cors,更好的支持RESFULAPI 2021-04-14 15:34:58 +08:00
.gitignore init 2020-09-15 18:35:00 +08:00
LICENSE init 2020-09-15 18:35:00 +08:00
Readme.md 优化跨域配置;更新文档 2020-09-30 14:25:08 +08:00
index.js 优化跨域配置;更新文档 2020-09-30 14:25:08 +08:00
package.json 优化cors,更好的支持RESFULAPI 2021-04-14 15:34:58 +08:00

Readme.md

  ____ _                               __ _           
 / ___(_)_   _____   _ __ ___   ___   / _(_)_   _____ 
| |  _| \ \ / / _ \ | '_ ` _ \ / _ \ | |_| \ \ / / _ \
| |_| | |\ V /  __/ | | | | | |  __/ |  _| |\ V /  __/
 \____|_| \_/ \___| |_| |_| |_|\___| |_| |_| \_/ \___|
                                                      

一个轻量级的,易学的,拓展性灵活的 nodejs MVC 框架, 5 分钟即可上手。取自"Give me five"之意, 一切就是这么简单

框架要求 nodejs 版本在 12.0 或以上, 并且只支持使用import/export

启用方法(步骤)

本框架和用法 都是在 Linux 或者 Mac 下面测试通过。至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的、 甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦在安装过程无法继续时,自行兼容一下

  1. 下载安装 Five.js 框架。
  • 为了方便下载安装及管理, 推荐使用 five-cli(这是一款专门为框架开发的脚本工具) 进行操作。
# 全局安装 five-cli
npm i -g @gm5/cli

# 进入项目目录
cd /project/demo
# 初始化一个项目,初始化完成会自动安装所需要的依赖
five-cli init
# 初始化完成之后, 执行以下命令即可启动了,如果需要修改配置,可以先修改好再启动
five-cli start
  • 也可以自行通过 npm 安装, 自己构建启动配置
# 进入项目目录
cd /project/demo

npm i @gm5/core
mkdir apps public data views

touch app.js
# 自行编辑app.js, 然后通过node, pm2启动项目即可
#
# import Five from '@gm5/core'
# var app = new Five()
# app.repload('./apps')
# app.listen(8000)

  1. 配置框架

建立启动文件, 如 app.js

'use strict'

import Five from '@gm5/core'

var app = new Five()

app.set({ website: 'www.your_domain.com' })
// app.set({ domain: 'your_domain.com' }) // 设置域cookie用到不设置则等同于website

// app.set({ VIEWS: './views/' }) // [可选], 但是要用到模板渲染页面时, 必须指定

app.preload('./apps/') // [必须], 预加载应用目录

app.listen(3001) // 默认是3000

其他的配置和功能, 请参考 文档

  1. 启动应用。在项目根目录打开终端, 输入以下命令 five-cli start, 然后根据提示操作, 即可
# 初始化完成之后, 执行以下命令即可启动了,如果需要修改配置,可以先修改好再启动
five-cli start

不是使用five-cli创建的项目, 可使用node/pm2等启动项目
node app.js
# or
pm2 start app.js
  1. 添加 nginx 配置(使用其他 web 服务,如 apache 的童鞋,请自行根据所使用的 web 服务器语法改写强烈推荐 nginx), 路径啥的自行根据自己的机器修改
upstream five_upstream {
  server 127.0.0.1:3001;
  #server 127.0.0.1:3002;
  keepalive 64;
}

server {

  listen 80;
  server_name abc.com;
  index index.html index.htm;
  root  /www/abc.com/public;

  location ~ ^/(images/|js/|css/|upload/|favicon.ico|robots.txt) {
    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;
    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;
    proxy_read_timeout        240s;
  }
}
  1. 请开始你的表演。

版权说明

本框架使用 MIT 开源协议, 一切的使用,请遵循 MIT 协议。

一个轻量级的,易学的,拓展性灵活的 nodejs MVC 框架, 5 分钟即可上手。取自"Give me five"之意, 一切就是这么简单
JavaScript 100%