JS全栈koa+vue前后端分离开发分享

2018-12-05  本文已影响94人  空无一码

前言

前端时间,也就18年10月分享了一篇TS全栈koa+vue前后端分离开发的文章,里面也分享了其在github上的地址(其中小程序并没有配ts):

里面几乎用到了前端所有最新的前沿技术,包括pwa,和测试等,当然使用ts基于react-native或weex开发原生APP的并没有分享,不过一切尽在我的掌控之中,只要需要,随时可配上ts!

后来发现,前端还是小白居多,实际场景还是中小项目居多,且前端基础普遍薄弱,一下接受太多新东西,反而影响了开发效率。

所以后来,我去掉测试,pwa和ts等锦上添花的功能,转而专注在对koa和vue基础使用上,于是指导两个小白准备了这套js全栈koa+vue的前后端开发分享。

本项目主要实现登录注册、token校验,修改密码,上传头像和修改用户信息和列表下拉刷新、上拉加载等功能,没有具体的业务应用场景,但真实业务改改即可用来部署上线。

本人在阿里云服务器正在使用的一套JS全栈系统就基于此,包括h5,pc后端,小程序和node后端。如遇到问题或交流,请联系qq:1007344228。

技术架构

前后端分离,后端没有选用大而全360的thinkjs或定制化阿里的egg, 而是基于它们底层都使用的web开发框架 koa, 同时前端基于vue 最新脚手架cli 3.x 搭建:

启动系统

上线部署

项目代码里面并没有基于pm2上线部署的分享,这里只简单提一下,如有需要,请加我qq私聊。

配置服务器免密登陆

将本地Mac生成的公钥 添加到远程服务器

ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub 用户名@47.92.xx.xxx

安装pm2

在本地电脑安装pm2工具

npm install -g pm2

初始化配置文件

pm2 ecosytem

记得改成json格式,后端参考的例子如下:

{
  apps : [
    {
      name: "server",
      script: "src/app.js",
      env: {
        COMMON_VARIABLE: "true"
      },
      env_production : {
        NODE_ENV: "production"
      }
    }
  ],
  deploy : {
    production : {
      user: "xqart",
      host: "47.xx.xxx.xxx",
      ref: "origin/master",
      repo: "git@github.com:yibiankeji/js-server-koa.git ",
      path: "/home/study/server",
      "post-deploy": "git pull && npm install && pm2 start ecosystem.json --env production"
    }
  }
}

h5参考的例子如下:

{
  apps : [
    {
      name: "h5",
      script: "build/build.js",
      env: {
        COMMON_VARIABLE: "true"
      },
      env_production : {
        NODE_ENV: "production"
      }
    }
  ],
  deploy : {
    production : {
      user : "xqart",
      host : "47.xx.xxx.xxx",
      ref  : "origin/master",
      repo : "git@github.com:yibiankeji/js-h5-vue.git",
      path : "/home/study/h5",
      "post-deploy" : "git pull && npm install && npm run build"
    }
  }
}


初始化远程服务器

pm2 deploy production setup

部署

在两个项目下分别执行:

pm2 deploy production

然后就可以在本地电脑一键部署到远程云服务器了!而对于nginx的安装和配置,这里就不多说了,具体看我简书关于部署的博客。

上一篇下一篇

猜你喜欢

热点阅读