专栏首页一源一世界五分钟开发属于你自己的代码生成器
原创

五分钟开发属于你自己的代码生成器

本文很短,却诚意满满 用不了2分钟你就能看完 然后大概率你就会惊叹 原来开发属于自己的代码生成器,是这么滴简单

温馨提示:本文是《新生代小鲜肉之代码生成器》的延续篇,如果你还不知道 ncgen 这个小鲜肉,那最好先去 Look 一 Look 《新生代小鲜肉之代码生成器


丹尼尔:蛋兄,上次别后,按照你教我的那一套方法,我几分钟就配置了一个完全满足我需求的代码生成器,真是强大又不失简单啊

蛋先生:说干就干,你的动手能力让我佩服

丹尼尔:见笑见笑。不过我今天又带着问题而来

蛋先生:恭候多时

丹尼尔:我把 ncgen-config.js 挂在了云端,然后我的小伙伴们抱怨使用的时候命令太长记不住:

$ ncgen https://raw.githubusercontent.com/daniel-dx/vue3-ncgen-demo/master/ncgen-config.js
复制代码

你看,是不是有点长?蛋兄有什么好建议吗?

蛋先生:当然,ncgen 早已为此准备了一个非常迷人的方案

丹尼尔:什么迷人的方案?有多迷人?快告诉我快告诉我

蛋先生:那就是 - 通过 ncgen 快速开发属于你自己的代码生成器

丹尼尔:Wo~,属于我自己的,听着就爽歪歪,昨弄呢?昨弄呢?


蛋先生:假设我们现在要开发一个代码生成器,就叫 vue-ncgen-demo-cli 吧,你猜几步搞定?

丹尼尔:我猜啊,就一步。

蛋先生:这,有点过分了,臣妾做不到,再见

丹尼尔:玩笑玩笑,蛋兄就直说吧

蛋先生:那就三步曲走起

  • 第一步:生成代码生成器项目
$ yarn create @ncgen/app # npm init @ncgen/app
复制代码
  • 第二步:编写代码生成器逻辑

在生成的项目中找到 ncgen-config.js ,根据你代码生成器的逻辑,修改这个配置文件

示例配置在这里:github.com/daniel-dx/v…

这里推荐一个小技巧,在需要增加子命令时,除了复制粘贴,其实你是可以更优雅地通过子命令的方式来完成的

cd vue-ncgen-demo-cli
$ yarn create @ncgen/app add-sub # # npm init @ncgen/app add-sub
复制代码
  • 第三步:对全世界发布
$ npm run release
复制代码

丹尼尔:完了?

蛋先生:是的,完了,就是这么简单

丹尼尔:那我的小伙伴们该如何使用这个代码生成器呢?

蛋先生:灰常简单,示例走起

# 安装
$ npm i vue-ncgen-demo-cli -g

# 执行主命令生成脚手架项目
$ vue-ncgen-demo-cli

# 执行子命令插入代码
$ vue-ncgen-demo-cli add-component
复制代码

丹尼尔:完美,我迫不及待地想要去开发属于我自己的代码生成器了

蛋先生:期待你的反馈


ncgen github: github.com/daniel-dx/n… 【请加个Star呗】

ncgen 文档:daniel-dx.github.io/ncgen/

关键字:ncgen, scaffolding, generator, 代码生成器, 脚手架

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用matlab打造属于自己的密码生成器

    密码之于计算机,好比钥匙之于房门。有了钥匙才能开门入室,有了密码才能进行各种登录验证、文件解压等等。在之前的一期(你的QQ、微信账号安全吗?干货都在这里)中介绍...

    matlab爱好者
  • 不用代码,10分钟打造属于自己的第一款小程序

    王小婷
  • 10分钟教你开发自己的Chrome浏览器插件

    Chrome插件开发入门 chrome插件开发 说白了就是前端开发,只需要你懂一点js、css、html 就可以马上动手做一个浏览器插件。 先看看效果图: ...

    JKXQJ
  • 1分钟部署一个属于自己的网站,借助云开发静态网站部署属于自己的网站

    这也就意味着,我们的网站可以供用户在任何地方访问。下面就来教大家如何快速的部署一个属于自己的网站。

    腾讯云开发TCB
  • 1分钟部署一个属于自己的网站,借助云开发静态网站部署属于自己的网站

    这也就意味着,我们的网站可以供用户在任何地方访问。下面就来教大家如何快速的部署一个属于自己的网站。

    编程小石头
  • Python进阶 | 五分钟带你弄懂迭代器与生成器,夯实代码能力

    我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉得这是一种新的获取数据的方法。对于获取数据的方法而言,我们会一种就足够了。但是在我后来Python的使...

    刘早起
  • 基于代码生成器的JAVA快速开发平台

    一款基于代码生成器的JAVA快速开发平台!采用最新技术,前后端分离架构:SpringBoot 2.x,Ant Design&Vue&,Mybatis,Shiro...

    程序源代码
  • 猿实战05——手把手教你拥有自己的代码生成器

    哈哈,猿设计终于讲完了,接下来的一段时间,工厂君打算和大家一起来实现我们之间的设计——构建一个自己的电商系统来玩耍。嗯,这个可是一个大工程,代码量很大,业务也比...

    山旮旯的胖子
  • 基于AgileEAS.NET SOA 中间件领域模型数据器快速打造自己的代码生成器

    一、前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速...

    魏琼东
  • 手把手教你开发代码生成器,学不会的来怼我!

    在实际的软件项目开发过程中,我可以很负责任的跟大家说,如果你真的实际写代码的时间过5年了,你对增删改查这类简单的功能需求开发,可以说已经完全写吐了,至少我就是这...

    macrozheng
  • 1分钟部署vue静态网站,借助云开发静态网站部署属于自己的网站

    这也就意味着,我们的网站可以供用户在任何地方访问。下面就来教大家如何快速的部署一个属于自己的网站。

    编程小石头
  • 【玩转腾讯云】九.云开发CloudBase快速上手hexo博客

    ① 在产品控制面板中找到云开发CloudBase——立即使用,进入云开发授权开通页面

    一只特立独行的兔先生
  • 如何取消 JavaScript 中的异步任务

    有时候执行异步任务可能是很困难的,尤其是在特定的编程语言不允许取消被错误启动或不再需要的操作时。幸运的是 JavaScript 提供了非常方便的功能来中止异步活...

    疯狂的技术宅
  • 一个能瞬间提升你博客逼格的 GitHub 项目!

    作为一名程序员,相信在座不少人在一开始接触编程的时候,都会幻想着能亲自写出一个属于自己的个人博客。

    GitHubDaily
  • 【树莓派自动化应用实例】整点提醒自己休息五分钟

    背景介绍 ? 我有一个习惯,定闹钟每隔60分钟左右,提醒自己休息一次。我发现自己有时候长时间思考,很容易拘泥于细节之中。适当的简单休息过后,往往会对正在解决和处...

    ios122
  • 【玩转腾讯云】十三.基于云平台的安全攻防靶场系统构建

    ②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

    一只特立独行的兔先生
  • 【玩转腾讯云】八.一分钟快速上手搭建宝塔管理面板

    ②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

    一只特立独行的兔先生
  • Quartz-Trigger详解

    类似于 Job,Trigger 也非常容易使用,但是它包含了大量的自定义选项,你需要了解它们才能完全使用 Quartz。并且,Trigger 本身有很多不同的实...

    小小工匠
  • 开发 | 深度学习自动编码器还能用于数据生成?这篇文章告诉你答案

    AI 科技评论按:本文作者廖星宇,原载于作者知乎专栏,经授权发布。 什么是自动编码器 自动编码器(AutoEncoder)最开始作为一种数据的压缩方法,其特...

    AI科技评论

扫码关注云+社区

领取腾讯云代金券