当前位置: 首页 > news >正文

深圳网站维护优化昆山设计网站的公司哪家好

深圳网站维护优化,昆山设计网站的公司哪家好,做网站要遵守的基本原则,开发一个电商网站目前的插件能够自动生成egg的crud的都不太好用 我们自己写一个吧 ejs模块 也方便定制 安装依赖 npm install ejs --save ejs 是一个简单易用的模板引擎,常用于 Node.js 应用程序中 在项目根目录下创建 template/controller.ejs 模板文件 use strict;const Co…

目前的插件能够自动生成egg的crud的都不太好用 我们自己写一个吧 ejs模块 也方便定制 

安装依赖

npm install ejs --save

ejs 是一个简单易用的模板引擎,常用于 Node.js 应用程序中

在项目根目录下创建 template/controller.ejs  模板文件

'use strict';const Controller = require('egg').Controller;class <%= name %>Controller extends Controller {async index() {const { ctx } = this;const <%= name %>s = await ctx.model.<%= name %>.findAll();ctx.body = <%= name %>s;}async create() {const { ctx } = this;const <%= name %> = await ctx.model.<%= name %>.create(ctx.request.body);ctx.body = <%= name %>;}async show() {const { ctx } = this;const <%= name %> = await ctx.model.<%= name %>.findByPk(ctx.params.id);ctx.body = <%= name %>;}async update() {const { ctx } = this;const <%= name %> = await ctx.model.<%= name %>.findByPk(ctx.params.id);await <%= name %>.update(ctx.request.body);ctx.body = <%= name %>;}async destroy() {const { ctx } = this;const <%= name %> = await ctx.model.<%= name %>.findByPk(ctx.params.id);await <%= name %>.destroy();ctx.status = 204;}}module.exports = <%= name %>Controller;

在项目根目录下创建 template/gen-controller.js  模板生成执行文件

个人习惯 model大写  其他层文件小写 

const fs = require('fs');
const ejs = require('ejs');
const path = require('path');const name = process.argv[2]; // 从命令行参数获取控制器名称
const template = fs.readFileSync(path.join(__dirname, 'controller.ejs'), 'utf-8');// 函数用于将字符串的首字母大写
function capitalizeFirstLetter(str) {return str.charAt(0).toUpperCase() + str.slice(1);
}let capitailze_name = capitalizeFirstLetter(name);const content = ejs.render(template, { name: capitailze_name });fs.writeFileSync(path.join(__dirname, `../app/controller/${name.charAt(0).toLowerCase() + name.slice(1)}.js`), content, 'utf-8');

上面的模板文件旨在生成restful接口  ,同时直接调用model ,在一些不复杂的场景中直接使用

配置路由文件app/router.js

// activationsrouter.resources("activations", "/activations", controller.activations)

最后 代码生成  restful的增删改查就直接生成好了 

node gen-controller.js activations

model层 通过 egg-sequelize-auto查询数据库直接生成  数据库表通过 npx 也是自动生成的 

总结 egg一整套从建表到CRUD 自动生成流程

  1. 创建迁移文件 执行 npx sequelize model:generate --name Activation --attributes activationCode:string,machineCode:string,activationVersion:string,email:string
  2. 执行迁移创建数据库表 npm run db 
  3. 通过数据库表再反向映射生成model层  npm run model
  4. 通过我们上面写的模板文件 node gen-controller.js activations 直接生成control层 ,自动完成了具有restful风格的CURD
  5. 后续写一个插件 完成上面的半自动流程 ,实现 定义完成数据库表 ,即而成crud

1-5有不懂的,可以看上一篇文章

http://www.yayakq.cn/news/8322/

相关文章:

  • 网站建设优化培训班图标怎么在wordpress
  • 网站首页建设中页面hao123主页怎么删除
  • wordpress和网站区别职业生涯规划大赛提问
  • 漯河专业做网站公司网站服务器时间查询工具
  • 大型门户网站建设包括哪些方面企业做网站流程
  • 备案后网站打不开融资是什么意思
  • 青岛建设集团招聘信息网站cms网站怎么制作
  • 株洲网站建设开发申请个人企业邮箱
  • 住房和成乡建设部网站c2c模式是指什么
  • 北京网站建设搜q.479185700网站可以做固定资产吗
  • 网站的几种提交方式江苏盐城网站建设
  • 网站模板制作网站虚拟主机有什么用
  • 网站改变配色方案如何建设网站效果好
  • 建站设计网站高端网站建设上海
  • 网站上那些兼职网页怎么做创建app平台需要多少钱
  • 网站不备案会怎样濮阳网站怎么做seo
  • 汝阳网站建设舟山手机网站建设
  • wordpress延迟加载插件seo网站诊断书
  • 沈阳微信网站开发汕头模板开发建站
  • 常州新北建设局网站网站建设中问题分析与解决
  • 免费学校网站模板html婚庆公司网站搭建
  • 易做文学网站的logo德清县新巿镇城市建设网站
  • iis上部署手机网站南昌建站
  • 专业网站优化报价软件项目管理的过程
  • 手机端h5网站模板下载深圳市建设局网站金建
  • 旺道seo网站优化大师池州做网站
  • 网站的制作成品建设介绍网站
  • wordpress建站seo宿迁市建设局网站
  • 百度飙风算法 小网站东莞企业网站教程
  • 高端网站设计怎么样qt做网站