egg框架的使用与搭建

egg网站https://www.eggjs.org/zh-CN/tutorials/index

指南--->快速入门

 初始化项目:

egg项目可创建多个,每次创建都需要执行下列指令,第一条可手动创建:

 创建文件夹并进入: mkdir egg-example && cd egg-example 

 初始化项目: npm init egg --type=simple 

 下载依赖文件(egg项目需要依赖的包): npm i 

启动项目:

 npm run dev 

    私有IP      公有IP       前后端连接       cnpm:China国内下载的包---->需自己配置(用npm即可)

    egg框架搭建服务器----->后端 Nodejs写后端不稳定

app +config +package.json三个,启动-->npm i(下载依赖包  node_modules)  

app:

app/ Controller/home.js内参考:

const Controller = require('egg').Controller;    导入egg框架

module.exports =   导出

异步async函数 返回Promise对象

'use strict'严格模式

 const { router, controller } = app;解构赋值

router.get('/', controller.home.index);默认访问/返回 controller里的home.

路由直接改router.js和home.js就行编码格式底层写好了的

home.js

'use strict';const Controller = require('egg').Controller;class HomeController extends Controller {async index() {const { ctx } = this;// 响应给客户端的内容ctx.body = 'aaa';};async login() {const { ctx } = this;// 响应给客户端的内容ctx.body = {code: 1,data: "登录成功"};/*async ...() {const { ctx } = this;// 响应给客户端的内容ctx.body = {……};*/}
}module.exports = HomeController;

router.js路由

'use strict';/*** @param {Egg.Application} app - egg application*/
module.exports = app => {const { router, controller } = app;router.get('/', controller.home.index);router.get('/login', controller.home.login);
//router.get('/...',controller.home(此文件夹可变)....)};

router.js文件不可改路由可改, controller下文件夹可改可加(但controller文件夹不可变),格式不可改

public:

访问需要输入+完整路径(列:​ http://127.0.0.1:7001/public/index.html ​)

用于放静态资源:前端相应代码JS CSS HTML

配置服务器基本信息

改端口号:config/config.default.js    保证写在大花括号内

 //配置服务器基本信息config.cluster = {listen: {path: '',port: 8000,//一般设4位数hostname: '',//默认localhost和ip地址,上线时用0.0.0.0}};

配置文件改需重启

获取提交的数据:后端接收前端的数据请求

接收GET请求的数据:ctx.request.query 和 ctx.query    

 async login() {const { ctx } = this;// 获取客户端传递过来的数据  get请求:ctx.request.query 或者 ctx.queryconsole.log(ctx.request.query);console.log(ctx.query);// 响应给客户端的内容ctx.body = {code: 1,data: "登录成功"};// ctx.body = '登录成功';}

接收POST请求的数据:ctx.request.body而不是 ctx.body;post请求时,会有安全验证问题,简单的处理方式是关闭安全验证:

 async register() {const { ctx } = this;// 获取客户端传递过来的数据  post请求:ctx.request.bodyconsole.log(ctx.request.body);// 响应给客户端的内容ctx.body = {code: 1,data: "注册成功"};

关闭POST请求的安全验证:config/config.default.js   保证写在大花括号内

// config/config.default.js// 配置安全验证config.security = {csrf: {enable: false,ignoreJSON: true,}}

1.0跨越配置前后端分离:config/config.default.js   保证写在大花括号内

 // 跨域的配置config.cors = {origin: '*', //允许的域,*代表所有的allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH'//允许跨域的请求方法};

1.1跨越配置:config/plugin.js  保证在导出内

 cors: {enable: true,package: 'egg-cors',}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部