首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ONE-sys 整合前后端脚手架 koa2 + pm2 + vue-cli3.0 + element

ONE-sys 整合前后端脚手架 koa2 + pm2 + vue-cli3.0 + element

作者头像
super.x
发布于 2019-04-12 07:53:04
发布于 2019-04-12 07:53:04
78000
代码可运行
举报
运行总次数:0
代码可运行

项目地址 https://github.com/fanshyiis/...

干货!求star

本脚手架主要致力于前端工程师的快速开发、一键部署等快捷开发框架,主要目的是想让前端工程师在一个阿里云服务器上可以快速开发部署自己的项目。本着前端后端融合统一的逻辑进行一些轮子的整合、并加入了自己的一些脚手架工具,第一次做脚手架的开发,如有问题,请在issue上提出,如果有帮助到您的地方,请不吝赐个star~

技术栈选择
  • 前端整合:vue-cli3.0、axios、element等
  • 命令行工具整合:commander、chalk、figlet、shelljs等
  • 后端整合:node、 koa2、koa-mysql-session、mysql等
  • 服务器整合:nginx、pm2、node等
基本功能模块实现
  • 聚合分离

所谓聚合分离,首先是‘聚合’,聚合代码,聚合插件,做到一个项目就可完成前端端代码的编写,打包上线等功能的聚合。其后是‘分离’。前后端分离。虽然代码会在同一个项目工程中但是前后端互不干扰,分别上线,区别于常规的ejs等服务端渲染的模式,做到前端完全分离

  • 一键部署

基于本地的命令行工具,可以快速打包view端的静态文件并上传到阿里云服务器,也可快速上传server端的文件到服务器文件夹,配合pm2的监控功能进行代码的热更新,无缝更新接口逻辑

  • 快速迭代

提供基本的使用案例,包括前端的view层的容器案例与组件案例,组件的api设定以及集合了axios的中间件逻辑,方便用户快速搭建自己的项目,代码清晰,易于分析与修改,server端对mysql连接池进行简单的封装,完成连接后及时释放,对table表格与函数进行分层,代码分层为路由层、控制器层、sql操作层

基本模块举例

1.登录页面

  • 登录 -正确反馈 错误反馈 登录成功后session的设定
  • 注册 -重名检测 正确反馈 错误反馈
  1. 主要模块功能
  • 模块增删查改基本功能的实现
  1. 后台koa2服务模块
  • 配合koa-mysql-session进行session的设定储存
  • checkLogin中间件的实现
  • cors跨域白名单的设定
  • middlewer 中间件的设定
  • mysql连接池的封装

等等。。。

  1. 服务端
  • nginx 的基本配置与前端端分离的配置
  • pm2 多实例构建配置文件的配置文件 pm2config.json
使用流程
  1. 本地调试
  • 安装mysql (过程请百度)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 进入sql命令行
$ mysql -u root -p
// 创建名为nodesql的数据库
$ create database nodesql
  • 安装pm2 (过程请百度)
  • 拉取项目代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/fanshyiis/ONE-sys
cd ONE-sys
// 安装插件
cnpm i 或 npm i 或者 yarn add
// 安装link
sudo npm link
//  然后就能使用命令行工具了
one start
// 或者不愿意使用命令行的同学可以
yarn run serve
主要代码解析
  • 代码逻辑
  • server
  • bin
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
one -h
  • 启动效果
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
启动项目
yarn run v1.3.2
$ pm2 restart ./server/index.js && vue-cli-service serve
Use --update-env to update environment variables
[PM2] Applying action restartProcessId on app [./server/index.js](ids: 0,1)
[PM2] [index](0)[PM2] [one-sys](1) ✓
┌──────────┬────┬─────────┬─────────┬───────┬────────┬─────────┬────────┬─────┬───────────┬───────────┬──────────┐
│ App name │ id │ version │ mode    │ pid   │ status │ restart │ uptime │ cpu │ mem       │ user      │ watching │
├──────────┼────┼─────────┼─────────┼───────┼────────┼─────────┼────────┼─────┼───────────┼───────────┼──────────┤
│ index    │ 00.1.0   │ fork    │ 77439 │ online │ 2640    │ 0s     │ 0%15.4 MB   │ koala_cpx │ disabled │
│ one-sys  │ 10.1.0   │ cluster │ 77438 │ online │ 15      │ 0s     │ 0%20.2 MB   │ koala_cpx │ disabled │
└──────────┴────┴─────────┴─────────┴───────┴────────┴─────────┴────────┴─────┴───────────┴───────────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app
 INFO  Starting development server...
 98% after emitting CopyPlugin DONE  Compiled successfully in 10294ms16:31:55


  App running at:
  - Local:   http://localhost:8080/
  - Network: http://192.168.7.69:8080/

  Note that the development build is not optimized.
  To create a production build, run yarn build.

页面展示

  1. 线上调试
  • 阿里云服务器文件存放目录
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@iZm5e6naugml8q0362d8rfZ ~]# cd /home/
[root@iZm5e6naugml8q0362d8rfZ home]# ls
dist  server  test
[root@iZm5e6naugml8q0362d8rfZ home]#
  • 阿里云nginx配置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
       location ^~ /api {
          proxy_pass http://127.0.0.1:3000;
        }

        location ^~ /redAlert/ {
           root /home/dist/;
           try_files $uri $uri/ /index.html =404;
        }

        location ^~ /file/ {
            alias /home/server/controller/public/;
        }

        location / {
            root   /home/dist/;
            index  index.html index.htm;
        }

其他方面如同本地配置

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【Git】008-使用码云
码云官方教程:https://gitee.com/help/articles/4120
訾博ZiBo
2025/01/06
1180
【Git】008-使用码云
git使用要点
1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
impressionyang
2020/08/26
6420
【过程记录】通过ssh上传Github仓库
在使用微信小程序开发者工具时,想连接远程github仓库,使用用户名和密码验证一直失败。 于是想直接利用git bush工具来进行上传,为了避免每次上传时重新输入用户名和密码,采用了ssh免密上传方式。 由于更换设备都需要重新配置ssh,因此将过程记录一下,以便后续查阅方便。
zstar
2022/07/28
7110
【过程记录】通过ssh上传Github仓库
git与github
1、安装git客户端* 2、生成密钥 $ ssh-keygen -t rsa -C "注册邮箱" 然后用户主目录~/.ssh/下有两个文件,id_rsa是私钥,id_rsa.pub是公钥 3、获取key,打开.ssh下的id_rsa.pub文件,里面的内容就是key的内容 $ start ~/.ssh/id_rsa.pub 备注:使用外部工具打开文件 cat ~/.ssh/id_rsa.pub 输出控制台
潇洒哥和黑大帅
2018/10/23
8930
git与github
Git 从入门到进阶 (只有干货,没有废话)
在使用 git 之前,需要告诉 git 你是谁,这个当你向仓库中提交时会用得到!!!
Gorit
2021/12/08
5850
Git 从入门到进阶 (只有干货,没有废话)
如何在 Git 上传代码:小白必读,非常全面
本篇文章将手把手教你如何在 Git 上上传代码,从安装和配置 Git 到初始化仓库、提交代码、配置远程仓库以及上传代码,提供全面的讲解和详细的命令示例。内容适合初学者,并包含常见问题的解决方法,确保你能够顺利完成代码上传任务。
默 语
2024/12/24
1.9K0
如何在 Git 上传代码:小白必读,非常全面
Git 魔法指南:轻松驾驭版本控制的海洋(新手必学!)
今天给大家分享的是Git的魔法指南,无论是在公司的程序开发中,还是用于开源项目,都是一个经常需要用到的工具。在工作中也经常使用到GitHub,也可以使用gitlab或SVN等,他们可以帮助我们在项目中管理项目的版本迭代以及每一次修改的内容。
小Bob来啦
2024/04/15
1760
Git 魔法指南:轻松驾驭版本控制的海洋(新手必学!)
error: src refspec master does not match any error: failed to push some refs to ‘https://gitcode.com
但是我告诉你,getcode的最高级路径是main而不是master,这个时候你是不是很奔溃。哈,哈么就改一下语句吧。
红目香薰
2025/01/20
3740
error: src refspec master does not match any error: failed to push some refs to ‘https://gitcode.com
Git 在同一台机器上配置多个Git帐号
git config --global --unset user.password
授客
2019/09/10
2.6K0
Git 在同一台机器上配置多个Git帐号
Git提交项目到码云
1:git安装,官网:https://git-scm.com/downloads 全部默认安装
闻语博客
2021/01/21
9470
GitHub 系列之「向GitHub 提交代码」1.SSH2.生成SSH key3.GitHub 上添加 SSH key4.Push & Pull5.提交代码
你拥有了一个 GitHub 账号之后,就可以自由的 clone 或者下载其他项目,也可以创建自己的项目,但是你没法提交代码。仔细想想也知道,肯定不可能随意就能提交代码的,如果随意可以提交代码,那么 GitHub 上的项目岂不乱了套了,所以提交代码之前一定是需要某种授权的,而 GitHub 上一般都是基于 SSH 授权的。
Python攻城狮
2018/08/23
5240
GitHub 系列之「向GitHub 提交代码」1.SSH2.生成SSH key3.GitHub 上添加 SSH key4.Push & Pull5.提交代码
Git的简单使用——连接码云
码云官网 1. 配置Git 因为Git是分布式版本控制系统,必须在Git中配置本机的用户名和Email地址 + 执行命令git config --global user.name "你的用户名",告诉git你的名字,这个用户名会出现在提交记录中 + 执行命令git config --global user.email "你的邮箱",告诉git你的邮箱, 这个邮箱也会出现在提交记录中,注意Email尽量保持和你注册码云的Email一致。 2. 创建SSH Key 因为你的数据保存在远程服务器,服务器需要对你的身份进行识别,SSH key 可以让你的电脑和码云 Git@OSC 之间建立安全的加密连接。 运行命令ssh-keygen -t rsa -C "你的邮箱",会有三次提示输入,直接回车即可。如果已经有SSH key,会提示是否覆盖。
不愿意做鱼的小鲸鱼
2022/09/24
1.2K0
Git的简单使用——连接码云
Git ssh 配置及使用
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/53573399
程序员徐公
2018/09/18
2.5K0
Git ssh 配置及使用
Git ssh 配置及使用
前言:前几天在写博客 手把手教你用Hexo + github 搭建自己博客的时候,经常需要用到一些git操作,截了好多图,于是就想干脆整理成一系列的git 教程,总结如下
Dream城堡
2018/09/10
7580
Git ssh 配置及使用
Git 上传项目到 Github
同理,username对应你的github用户名,email对应你的github邮箱
张小驰出没
2021/04/15
7260
Git 上传项目到 Github
Git上传项目到Github仓库教程
2.输入仓库名称,勾选上 Add a README file,然后点击 Greate repository
XG.孤梦
2022/08/08
1.3K0
Git上传项目到Github仓库教程
使用git提交项目
一、git安装 1、首先在官方网站下载git工具,或者根据以下链接进行下载:http://rj.baidu.com/search/index/?kw=git 2、找到Git-2.11
似水的流年
2018/01/18
8470
Git02之Git Gui+git/github生成密钥+idea中配置并使用Git
注2:GitGui教程“https://www.runoob.com/w3cnote/git-gui-window.html” 
天蝎座的程序媛
2022/11/18
1.1K0
Git02之Git Gui+git/github生成密钥+idea中配置并使用Git
简介GIT
一、git是什么 git是一款分布式项目版本管理的工具 git:分布式 svn:集中式 二、git常用命令 git init 在当前项目的目录下生成一个.git隐藏文件夹,为了跟踪项目代码 git add:将工作区的文件添加到暂存区 git commit:将暂存区的文件提交到到本地仓库(也称分支) git push:将本地仓库快照提交到远程 将本地项目提交到远程的托管平台 常用托管平台:github,码云,gitlab.... 提交到远程仓库之前: 1.在github上创建
江一铭
2022/06/16
6210
Git安装与常用命令和分支操作 码云配置 笔记
仓库分为本地仓库和远程仓库 搭建远程仓库 常用的有 github 码云 GitLab github服务器在国外 访问较慢 码云的服务器在国内 访问较快 在这里使用码云
陶然同学
2023/02/27
5450
Git安装与常用命令和分支操作 码云配置 笔记
相关推荐
【Git】008-使用码云
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档