egg.js 是『约定优先于配置』的一个 Node.js web 框架
egg的约定规则:
1 app/router.js:用于配置URL路由规则;
2 app/controller/** :用于解析用户的输入,处理后返回相应的结果;
3 app/service/: 用于编写业务逻辑层;
4 app/public/: 用于放置静态资源;
5 config/config.{env}.js: 用于编写配置文件;
6 config/plugin.js 用于配置需要加载的插件;
路由是描述请求URL和具体承担执行动作的Controller的对应。说的直白点,就是用户访问不 同的路径时应该有不同的Controller去响应不同的内容。
Controller负责解析用户的输入,处理后返回响应的结果。
1.所有的Controller 文件都必须放在 app/controller目录下
2.支持多级目录,访问时可以通过目录名级联访问。
get和post提交数据方法:
1.接收GET请求的数据:ctx.request.query 或者 ctx.query
2.接收POST请求的数据:ctx.request.body 而不是 ctx.body
上传文件:
egg上传文件必须先启用file模式
1.先建一个数据包 var formdata=new FormData()
2.将前端获取的用户数据加入到数据包内 formdata.append("name",f1)
egg接受文件
ctx.request.files[0]
对象里面有上传的文件信息,主要包括文件的临时保存路径文件的字段名大小等等
一般情况文件的临时保存路径在c盘的temp文件夹中 我们需要自己处理移动到项目文件夹中
fs模块的拷贝方法没有跨盘限制,rename方法有跨盘限制的bug,此时应该用fs.copyfile(oldpath,newpath,(err)=>{})