zoukankan      html  css  js  c++  java
  • eggjs初用

    npm i egg-init -g // 全局安装egg.js的脚手架工具egg-init

    mkdir testEgg

    cd testEgg

    egg-init --type=simple // 初始化egg项目

    npm install  // 安装依赖

    npm run dev // 启动服务

    浏览器打开:http://localhost:7001

    主要项目目录功能

    app文件夹: 项目开发文件像src这样的功能。
    config文件夹:项目的配置目录,项目和服务端的配置都在这里边进行设置。
    logs文件夹:日志文件夹。

    在app目录下,egg通常会有下面的文件:
    controller文件夹:控制器,渲染和简单的业务逻辑都会写道这个文件里。配置路由时也会用到(路由配置需要的文件都要写在控制器里)。
    public文件夹: 公用文件夹,放置静态资源,可选。
    router.js文件: 项目的路由配置文件,当用户访问服务的时候,在没有中间件的情况下,会先访问router.js文件。
    service文件夹: 用于编写业务逻辑层,可选,建议使用(涉及到数据库如sql MongoDB等)。
    view文件夹: 模板文件夹,相当于表现层的专属文件夹,用于放置模板文件,可选,由模板插件约定(模板渲染用)。
    extend文件夹: 用于框架的扩展,可选;
    schedule文件夹: 用于定时任务,可选
    middleware文件夹:中间件文件夹,用来写中间件的,比如最常用的路由首位。

    常用的接口有

    RESTful是目前最流行的网络应用程序设计风格和开发方式;列举四种请求常用方式

    GET(SELECT) ----> 从服务端取出资源
    POST(CREATE) ----> 在服务器新建资源
    PUT(UPDATE) ----> 在服务器更新资源
    DELETE(DELETE) ----> 从服务器删除资源

    /*
     * @Description: controller/home.js
     * @Version: 2.0
     * @Autor: lhl
     * @Date: 2020-04-16 14:12:13
     * @LastEditors: lhl
     * @LastEditTime: 2020-04-17 14:25:28
     */
    'use strict';
    
    const Controller = require('egg').Controller;
    
    class HomeController extends Controller {
    
      // 自己写个list方法  ---> router.js下面配置  router.get('/', controller.home.index); -->  访问 http://localhost:7001
      async index() {
        const { ctx } = this;
        ctx.body = 'hi, egg';
      }
    
      // 自己写个list方法  ---> router.js下面配置  router.get('/list', controller.home.list); -->  访问 http://localhost:7001/list
      async list() {
        const { ctx } = this;
        ctx.body = '<h1>自定义接口内容xxxxxx</h1>';
      }
    }
    
    module.exports = HomeController;
    /*
     * @Description: 接口配置文件 router.js
     * @Version: 2.0
     * @Autor: lhl
     * @Date: 2020-04-16 14:12:13
     * @LastEditors: lhl
     * @LastEditTime: 2020-04-17 09:22:09
     */
    'use strict';
    
    /**
     * @param {Egg.Application} app - egg application
     */
    module.exports = app => {
      const { router, controller } = app;
      router.get('/', controller.home.index);
      router.get('/list', controller.home.list);
    };
    /*
     * @Description: config/config.default.js
     * @Version: 2.0
     * @Autor: lhl
     * @Date: 2020-04-16 14:12:13
     * @LastEditors: lhl
     * @LastEditTime: 2020-04-17 14:46:49
     */
    /* eslint valid-jsdoc: "off" */
    
    'use strict';
    
    /**
     * @param {Egg.EggAppInfo} appInfo app info
     */
    module.exports = appInfo => {
      /**
       * built-in config
       * @type {Egg.EggAppConfig}
       **/
      const config = exports = {};
      // 数据库链接配置
      config.mysql = {
        // database configuration
        client: {
          // host
          host: 'localhost',
          // port
          port: '3306',
          // username
          user: 'root',
          // password
          password: 'root',
          // database
          database: 'test',    
        },
        // load into app, default is open
        app: true,
        // load into agent, default is close
        agent: false,
      };
    
      // use for cookie sign key, should change to your own and keep security
      config.keys = appInfo.name + '_1587017528543_2972';
    
      // add your middleware config here
      config.middleware = [];
    
      // add your user config here
      const userConfig = {
        // myAppName: 'egg',
      };
    
      return {
        ...config,
        ...userConfig,
      };
    };
    /*
     * @Description: config/plugin.js
     * @Version: 2.0
     * @Autor: lhl
     * @Date: 2020-04-16 14:12:13
     * @LastEditors: lhl
     * @LastEditTime: 2020-04-17 14:48:49
     */
    'use strict';
    
    /** @type Egg.EggPlugin */
    module.exports = {
      // had enabled by egg
      // static: {
      //   enable: true,
      // }
       // 配置数据库 mysql
      mysql:{
        enable:true,
        package:'egg-mysql',
      }
      
    };
  • 相关阅读:
    Hadoop 0.23.1 Release Notes
    maven编译参数
    Hadoop快速入门
    HTML Parser HTML Parser
    EasyHadoop v1.0
    Hudson+Maven+SVN 快速搭建持续集成环境
    对技术要有足够的尊重和敬畏
    hudson设置
    python之强大的日志模块 竹叶青 的专栏 博客频道 CSDN.NET
    PHP学习之七:错误控制运算符
  • 原文地址:https://www.cnblogs.com/lhl66/p/12720008.html
Copyright © 2011-2022 走看看