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