Egg.js快速入门(2)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Egg.js快速入门(2)

模板引擎

ejs https://github.com/eggjs/egg-view-ejs


$ npm i egg-view-ejs

语法参考

https://ejs.bootcss.com/


修改配置


// {app_root}/config/plugin.js
exports.ejs = {
  enable: true,
  package: 'egg-view-ejs',
};
// {app_root}/config/config.default.js
config.view = {
  mapping: {
    '.html': 'ejs',
  },
};

新建文件

app/view/index.html


<%# 变量 #%>
<%=res.name%>
<%=res.age%>
<%# for循环 #%>
<% for(var i=0; i<list.length; i++){ %>
  <p><%=list[i]%></p>    
<% } %>

控制器中渲染


async index() {
    const { ctx } = this;
    const res = await ctx.service.product.index();
    // ctx.body = res;
    await ctx.render('index.html', {
      res,
      list: ['red', 'green', 'blue']
    })
  }

静态资源

app/public目录树


app
  ├── public
      ├── css
      │   └── main.css
      ├── img
      │   └── demo.png
      └── js
          └── main.js
<!-- 引入css文件 -->
<link rel="stylesheet" href="/public/css/main.css">
<!-- 引入图片资源 -->
<img src="/public/img/demo.png" alt="">
<!-- 引入js文件 -->
<script src="/public/js/main.js"></script>

mysql插件

npm i --save egg-mysql

修改配置

// config/plugin.js
exports.mysql = {
  enable: true,
  package: 'egg-mysql',
};
// config/config.default.js
config.mysql = {
    // 单数据库信息配置
    client: {
      // host
      host: '127.0.0.1',
      // 端口号
      port: '3306',
      // 用户名
      user: 'root',
      // 密码
      password: '123456',
      // 数据库名
      database: 'data',
    },
    // 是否加载到 app 上,默认开启
    app: true,
    // 是否加载到 agent 上,默认关闭
    agent: false,
  };

查询


async index() {
    const { ctx, app } = this;
    const res = await app.mysql.select("article");
    console.log(res);
  }

前端开发

1、脚手架 @vue/cli

https://cli.vuejs.org/zh/guide/installation.html

$ cnpm install -g @vue/cli
$ vue -V
3.12.0
$ vue --help
$ vue create client
$ cd client
$ npm run serve

http://localhost:8080/


2、前端组件库 vant

https://youzan.github.io/vant/#/zh-CN/quickstart


$ npm i vant -S
$ npm i babel-plugin-import -D

在 .babelrc 中添加配置



{
  "plugins": [
    ["import", {
      "libraryName": "vant",
      "libraryDirectory": "es",
      "style": true
    }]
  ]
}

App.vue引入vant组件


<template>
  <div id="app">
    <van-button type="primary">按钮组件</van-button>
  </div>
</template>
<script>
import { Button } from 'vant';
export default {
  name: 'app',
  components: {
    [Button.name]: Button
  }
}
</script>

3、路由vue-router


cnpm i vue-router --save

4、处理时间


cnpm i moment --save
// 后端保存之前
const moment = require('moment');
const create_time = moment().format('YYYY-MM-DD HH:mm:ss');
// 2019-10-13 22:29:23
//前端展示之前
import momemt from 'moment';
this.list = res.data.map(item=>{
  if(item.create_time){
    item.create_time  = moment(item.create_time).format('YYYY-MM-DD HH:mm:ss');
  }
  return item;
});

5、客户端跨域请求

vue.config.js


module.exports = {
    // 处理跨域请求
    devServer: {
        proxy: {
            '/article': {
                target: "http://127.0.0.1:7001/",
                ws: true, // 允许websockt服务
                changeOrigin: true // 开启虚拟服务器,请求代理服务器
            }
        }
    }
}

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 监控 JavaScript
Node.js 性能平台5分钟快速入门
首先,确保拥有阿里云账号并开通服务,以及一台可上网的服务器。然后,创建应用并记下App ID和App Secret。通过tnvm安装Node.js性能平台组件,包括alinode和agenthub,检查安装成功的方法是`which node`和`which agenthub`命令显示路径包含`.tnvm`。接着,启动agenthub,并在服务器上运行一个示例应用(demo.js),该应用模拟计算密集型任务。最后,通过阿里云控制台观察监控数据和执行诊断操作。注意,性能平台每分钟上传一次日志,可能需等待几分钟才能看到数据。详细部署指南可参考官方文档。
219 6
|
JavaScript
【JS】快速入门DOM
【JS】快速入门DOM
114 0
|
JavaScript 前端开发 安全
【JavaScript 】DOM操作快速入门
【JavaScript 】DOM操作快速入门
418 2
|
JavaScript 前端开发 Java
JavaScript快速入门
JavaScript快速入门
132 1
|
SQL 前端开发 JavaScript
JavaScript快速入门 有这一篇就够!
JavaScript快速入门 有这一篇就够!
141 0
|
存储 JavaScript 前端开发
如何快速入门使用Vue.js
如何快速入门使用Vue.js
117 0
|
Web App开发 存储 JavaScript
JavaScript快速入门
JavaScript快速入门
146 0
|
JavaScript 前端开发 Java
JavaScript 快速入门手册
JavaScript 快速入门手册
|
JavaScript 前端开发 Java
JavaScript 快速入门手册
JavaScript 快速入门手册
123 0
|
JavaScript 前端开发
node.js 快速入门
node.js 快速入门
172 0

热门文章

最新文章

下一篇
oss云网关配置