在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:LiChangyi/demo1开源软件地址:https://github.com/LiChangyi/demo1开源编程语言:JavaScript 65.0%开源软件介绍:Vue+Koa+Mongodb 小练习
前面的话原因
涉及知识点
注: 本文面对刚学vue或者koa不久或者想了解一个简单的前后台交互的问题的同学,涉及基础。 预览感兴趣的问题
一些小变动前端直接采用vue-cli进行一个基础的项目骨架。然后由于是一个简单的项目,所以页面就随便写一下,主要是实现功能。 因为我们在服务器上面采用的是二级域名的形式,所以需要在 assetsPublicPath: '' 我们在本地开发的时候需要进行调试,需要用到代理,不然就只有设置后台允许跨域。所以在 proxyTable: {
'/api':{ // 只代理 /api url下的请求
target: "http://localhost:7778", // 后台服务器的地址
changeOrigin: true
}
} 如何让服务器端记住你(jsonwebtoken)HTTP请求是无状态的,意思是他记不住你这个人是谁,他只知道你要什么资源,然后给你什么。但是实际问题是当用户给我们寻求资源的时候,我们应该要考虑应该给他这个资源。对这个人的身份做一个判别,然后在做决定给他什么样的资源。 所以针对每个用户我们需要用一个唯一的标识来确定他,这就是为什么需要登录才能操作,登录的目的就是让服务端产生一个认识你的标识,以后你的每次请求都要带上去。 在前后台不分离的时候,服务器端往往会在客服端放一个 前端拿到服务端的token后我们需要把他存放起来这里大概会有2种方式:
这里我把2种方法结合起来,得到token的时候把他同时存放在vuex和sessionStorage里面,存放在vuex里面是为了操作方便,存放在sessionStorage是为了保持刷新页面的时候数据不丢失。在前端每次向后台请求数据的时候,带上这个token,详见代码 => 关于一些网上的争论: Q :有人说,让客服端存放token不安全,或者说用sessionStorage方法来存放不安全,因为存在着csrf问题 A :没有绝对的安全,我个人了解到就是用以前的 验证码的识别验证码的生成我采用了 本地图片的上传这个问题从很久以前就很迷惑,一直不知道如何上传图片到服务器。即使h5出现了
我这里采用的是第二种,用base64上传图片,然后自己吧base64字符串保存进数据库,因为操作比较方便。当然你也可以在服务器端吧base64转换成二进制文件存放在服务器里面,然后把文件地址保存在数据库里面。也可以在本地直接上传二进制文件,如果你采用这个方式,那么你应该在koa里面在加入一个处理file请求的中间件。 也可以借助第三方的存储,比如我在我的博客里面写了一个接口就是直接在客服端上传文件到七牛云,然后七牛云返回给我链接。当时之所以采用这个操作是因为,小水管服务器太慢了,借助第三方加载图片会快很多。 关于项目的服务器部署因为vue的简单,很多都只知道 其实这个问题是由于大家只会机械式操作留下的,因为vue-cli的简单方便已经mvvm框架的厉害,我们忘记了我们写的东西本子上还是网页。所以我们需要用 这里关于把打包出来的文件往往会有2方式运行:
其实第一种的话也是借助与nodejs会自动启动一个服务器,进行静态文件的托管。我个人比较喜欢第二种方法,下面我们就进行这种文件的配置。 开始之前,你应该检查你的服务器是否安装有 $ pm2 -v
$ nginx -v 如果正确出现版本号,那么就已经安装了,如果没有的话,请谷歌安装。 如果我们有域名的话,我们现在域名商哪里添加一个二级域名解析。这里添加完解析以后会要几分钟的等待时间 然后,我们找到nginx的配置文件
注意: 然后进行nginx服务器的重启: 我们把server的代码放在服务器下,通过命令行移到相应位置执行命令: $ npm install && cnpm i
$ pm2 start --name demo1 npm -- run start 启动我们的nodejs服务器。然后我们就可以打开网站 demo.lcylove.cn 查看效果 最后由于本人才疏学浅,如果有任何问题的欢迎下面留言讨论! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论