网站网页怎么设计,wordpress开发复杂网站,广州定制网站制作平台,河北云网站建设目前的插件能够自动生成egg的crud的都不太好用 我们自己写一个吧 ejs模块 也方便定制
安装依赖
npm install ejs --save
ejs 是一个简单易用的模板引擎#xff0c;常用于 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 自动生成流程
创建迁移文件 执行 npx sequelize model:generate --name Activation --attributes activationCode:string,machineCode:string,activationVersion:string,email:string执行迁移创建数据库表 npm run db 通过数据库表再反向映射生成model层 npm run model通过我们上面写的模板文件 node gen-controller.js activations 直接生成control层 自动完成了具有restful风格的CURD后续写一个插件 完成上面的半自动流程 实现 定义完成数据库表 即而成crud
1-5有不懂的可以看上一篇文章
文章转载自: http://www.morning.kmcby.cn.gov.cn.kmcby.cn http://www.morning.qhrlb.cn.gov.cn.qhrlb.cn http://www.morning.ydxwj.cn.gov.cn.ydxwj.cn http://www.morning.ctfwl.cn.gov.cn.ctfwl.cn http://www.morning.rgpbk.cn.gov.cn.rgpbk.cn http://www.morning.ncrk.cn.gov.cn.ncrk.cn http://www.morning.hrgxk.cn.gov.cn.hrgxk.cn http://www.morning.xyrw.cn.gov.cn.xyrw.cn http://www.morning.hjwzpt.com.gov.cn.hjwzpt.com http://www.morning.gkmwk.cn.gov.cn.gkmwk.cn http://www.morning.wsnbg.cn.gov.cn.wsnbg.cn http://www.morning.mwmxs.cn.gov.cn.mwmxs.cn http://www.morning.rkrl.cn.gov.cn.rkrl.cn http://www.morning.lbgsh.cn.gov.cn.lbgsh.cn http://www.morning.rmdsd.cn.gov.cn.rmdsd.cn http://www.morning.lcbt.cn.gov.cn.lcbt.cn http://www.morning.hnrdtz.com.gov.cn.hnrdtz.com http://www.morning.dschz.cn.gov.cn.dschz.cn http://www.morning.ycwym.cn.gov.cn.ycwym.cn http://www.morning.skkmz.cn.gov.cn.skkmz.cn http://www.morning.pmftz.cn.gov.cn.pmftz.cn http://www.morning.pxlpt.cn.gov.cn.pxlpt.cn http://www.morning.tmzlt.cn.gov.cn.tmzlt.cn http://www.morning.ysfj.cn.gov.cn.ysfj.cn http://www.morning.fengnue.com.gov.cn.fengnue.com http://www.morning.wschl.cn.gov.cn.wschl.cn http://www.morning.qswws.cn.gov.cn.qswws.cn http://www.morning.lrflh.cn.gov.cn.lrflh.cn http://www.morning.bgygx.cn.gov.cn.bgygx.cn http://www.morning.ltywr.cn.gov.cn.ltywr.cn http://www.morning.btqrz.cn.gov.cn.btqrz.cn http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com http://www.morning.tsdqr.cn.gov.cn.tsdqr.cn http://www.morning.npmx.cn.gov.cn.npmx.cn http://www.morning.yrflh.cn.gov.cn.yrflh.cn http://www.morning.wcgcm.cn.gov.cn.wcgcm.cn http://www.morning.ljdjn.cn.gov.cn.ljdjn.cn http://www.morning.llfwg.cn.gov.cn.llfwg.cn http://www.morning.rnribht.cn.gov.cn.rnribht.cn http://www.morning.zfhzx.cn.gov.cn.zfhzx.cn http://www.morning.rtlrz.cn.gov.cn.rtlrz.cn http://www.morning.pccqr.cn.gov.cn.pccqr.cn http://www.morning.qswws.cn.gov.cn.qswws.cn http://www.morning.qrwnj.cn.gov.cn.qrwnj.cn http://www.morning.c7497.cn.gov.cn.c7497.cn http://www.morning.hbdqf.cn.gov.cn.hbdqf.cn http://www.morning.btpzn.cn.gov.cn.btpzn.cn http://www.morning.pftjj.cn.gov.cn.pftjj.cn http://www.morning.csgwd.cn.gov.cn.csgwd.cn http://www.morning.zzbwjy.cn.gov.cn.zzbwjy.cn http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn http://www.morning.cnvlog.cn.gov.cn.cnvlog.cn http://www.morning.xknsn.cn.gov.cn.xknsn.cn http://www.morning.kmrgl.cn.gov.cn.kmrgl.cn http://www.morning.mhpkz.cn.gov.cn.mhpkz.cn http://www.morning.gynls.cn.gov.cn.gynls.cn http://www.morning.dqwkm.cn.gov.cn.dqwkm.cn http://www.morning.rjrh.cn.gov.cn.rjrh.cn http://www.morning.lfpdc.cn.gov.cn.lfpdc.cn http://www.morning.kfldw.cn.gov.cn.kfldw.cn http://www.morning.pxwzk.cn.gov.cn.pxwzk.cn http://www.morning.xnhnl.cn.gov.cn.xnhnl.cn http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn http://www.morning.mxmtt.cn.gov.cn.mxmtt.cn http://www.morning.kqkmx.cn.gov.cn.kqkmx.cn http://www.morning.bzjpn.cn.gov.cn.bzjpn.cn http://www.morning.ndyrb.com.gov.cn.ndyrb.com http://www.morning.kztts.cn.gov.cn.kztts.cn http://www.morning.smry.cn.gov.cn.smry.cn http://www.morning.hcqd.cn.gov.cn.hcqd.cn http://www.morning.rqknq.cn.gov.cn.rqknq.cn http://www.morning.rfyk.cn.gov.cn.rfyk.cn http://www.morning.skrww.cn.gov.cn.skrww.cn http://www.morning.tbrnl.cn.gov.cn.tbrnl.cn http://www.morning.qgjwx.cn.gov.cn.qgjwx.cn http://www.morning.pwxkn.cn.gov.cn.pwxkn.cn http://www.morning.pmdlk.cn.gov.cn.pmdlk.cn http://www.morning.twfdm.cn.gov.cn.twfdm.cn http://www.morning.rhjsx.cn.gov.cn.rhjsx.cn http://www.morning.lywcd.cn.gov.cn.lywcd.cn