IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> egg框架的使用与搭建 -> 正文阅读

[JavaScript知识库]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.query
    console.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.body
    console.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',
  }
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:02:48  更:2022-09-04 01:04:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:42:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码