看vue3源码可以学到什么 : 四、代码模版生成器

前言

前面的篇章里了从readme文档中了解了vue3的目标特性,收获了git log规范,及熟悉了一款模块管理工具lerna。本章为大家分享另一项干货,代码模版生成器。

内容

  • vue3使用的简单代码模版工具 学习开源的JS框架的时,为了解框架的开发构建方式,一般会查看package.json .scripts属性,上面会有对应的npm脚本命令以供开发调试。vue3 对应package.json中的命令如下,对应执行的内容均在./script文件夹下。但是仔细查看会发现有一个名为 ./bootstrap.js并不在npm配置的命令中。那么它是用来干嘛的呢,当时我的第一反应是lerna的启动命令,用来初始化package中对应模块的依赖的。然而打开文件内容后发现并非如此,该文件与lerna没有任何关心,是一个没有依赖的简单的代码模版生产器。
image

image
  • bootstarp.js 主要的使用步骤为在生成需要对应模块时执行 node ./bootstarp.js -- 模块名称。该命令会做如下操作,校验模块项目是否已经生成。如果未则生成指定模块名称的文件夹到packages目录下,且初始化模块内容生成公共的文件,有此命令可以保证每个模块有统一的项目架构和标准的初始化方式。包括
  1. /模块名称/index.js /模块名称/index.ts
  2. /模块名称/dist/模块名称.esm-bundler.js
  3. /模块名称/README.md
  4. /模块名称/api-extractor.json
  5. /模块名称/package.json


    image
  • 启示 在业务开发过程中,无论是前端项目,还是后台服务均可以有统一的项目模版生成器平台,提供灵活配置生成统一的项目框架。以前端为例目前虽然vue,react或者angular均有对应的脚手架工具。但是都是只提供有基础的配置,很多情况下创建完成后仍需要加入大量的其他组件依赖或者,业务配置。在公司有一定规模后,有必要提供一套公共的项目生成服务或者平台供业务组快速搭建项目。
  • 实现 如果想实现一套平台式的代码模版生成器,一种可行的思路是借鉴vue-cli将命令式的方式改造成web模式,公用的配置属性抽象成可配置表单,代码模版使用ejs,jade等等均可。

总结

在业务发展迅速,经常新项目【包含前后端】创建的情况下,可以考虑一套标准化的项目创建方式提升创建项目的效率及为后续维护,扩展,升级提供良好保障。

发散问题

  • 当前是否有面临新建项目时周期很长的问题,所开发的项目类型有没有很好的项目模版标准划创建方案,或者公司是否有一套标准化项目创建的平台

以上问题,平时在工作中有了解或者有最佳实践的同学也可以不吝分享一起提高

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,874评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,102评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,676评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,911评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,937评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,935评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,860评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,660评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,113评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,363评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,506评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,238评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,861评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,486评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,674评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,513评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,426评论 2 352

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,180评论 0 3
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,080评论 0 2
  • 最近有好多需求是把一堆图片,或者一张长图转成HTML文件在客户端展示,所以想尝试自动化这一过程,简单实验了一个HT...
    赵萱_dily阅读 766评论 0 0
  • 虽然依旧画的不好,但是发现比最初的好了些,哪怕是进步很慢,但却有进步,还是高兴的
    瘦晓白阅读 296评论 4 12
  • 沉默了一天,几乎没有说话,也不知道该说些什么,怎么说,似乎只要我一开口就是错。 真的有些累了,真的有些受不...
    lioooo1987阅读 116评论 0 1