位置: 编程技术 - 正文

利用node.js实现自动生成前端项目组件的方法详解(node.js使用教程)

编辑:rootadmin

推荐整理分享利用node.js实现自动生成前端项目组件的方法详解(node.js使用教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js开发实战详解,怎么用nodejs运行js代码,利用nodejs实现百度文本审核,nodejs实战教程,node.js使用教程,怎么用nodejs运行js代码,node.js怎么用,利用nodejs实现百度文本审核,内容如对您有帮助,希望把文章链接给更多的朋友!

本文主要给大家介绍了关于利用node.js实现自动生成前端项目组件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

脚本编写背景

写这个小脚本的初衷是,项目本身添加一个组件太繁琐了,比如我想要去建立一个login的组件,那么我需要手动去IDE中,创建index.js(组件出口文件),login.js(业务文件),login.html,login.less这四个文件。因为每个组件都有一些输出的代码,还要把之前组件的那几行拷贝过来,这种作业真的烦,于是乎写了一个小脚本去自动完成这些功能。

PS:本脚本运行环境是nodeV7以上,当前时间/,stable版本还是V6,最新的node版本为V8.1.3(LTS版本),如要运行,请升级node版本为LTS版本。

预期效果

在命令行输入:node set login

在conponents文件夹下面自动生成4个文件,并填写index.js , login.js的文件公共内容。

如果输入多层文件如: node set login/foo

则会先检测conponents文件夹下是否存在login,如不存在,先创建login文件夹,然后创建foo的组件。本脚本主要使用nodejs的fs模块来完成需求。

fs模块fs模块用于对系统文件及目录进行读写操作,本次主要用到的fs模块的功能有:

fs.existsSync(path) 检测文件夹是否存在,一个同步的API,只接受一个路径参数,当前版本异步的废弃了。 fs.mkdir(path,callback) 创建文件夹,异步,两个必填参数,路径和回掉。 fs.readFileSync(path) 读取文件,接受一个参数,文件路径。 fs.writeFile(path,data,callback) 写文件,接受三个参数,文件路径,向文件中写的数据,回掉。

代码实施

流程图

利用node.js实现自动生成前端项目组件的方法详解(node.js使用教程)

获取命令行参数

以node set login为例,想要创建一个login文件夹,首先先要获取命令行当中的login。在nodejs当中,获取命令行参数使用process.argv这条命令返回一个数组,第一个参数为nodejs.exe的应用所在绝对路径,第二个参数为当前脚本所在的绝对路径,之后所输入的参数以空格分隔,如输入node set aaa,得到:

检测文件夹是否存在

判断是否存在文件夹,如果存在,重新拼接路径继续检查,如不存在则生成文件夹。

创建文件夹

node set foo/bar

创建文件夹成功后,重新拼接路径,以便于继续查找。

读取模板内容

每个生成好的文件都需要一个创建的时间,及作者,包括文件的输出,以及class等结构,这些都是比较公用的,把他们写在模板当中,然后读取出来,替换其中的关键词,如时间,组件名等。

生成文件并写入内容

提前建立好要生成的文件和要读取的文件。如:

目前只写了2个要读取的模板,在生成文件之后,会将模板中的内容填充进去。

总结

以上就完成了一个自动生成前端项目组件的小脚本了,当然,还可以继续扩充,比如这些组件其实还需要再到,组件管理的那个js中去注入,这些都可以用脚本完成,本文就到这里为止了。

好了,

标签: node.js使用教程

本文链接地址:https://www.jiuchutong.com/biancheng/380879.html 转载请保留说明!

上一篇:详解Node项目部署到云服务器上(node项目部署)

下一篇:深入学习nodejs中的async模块的使用方法(nodejs基础教程)

  • 非独立核算的分公司可以开票吗
  • 企业汇算清缴时允许税前扣除的工资是
  • 全国税收调查表企业表怎么填
  • 什么是特别纳税人
  • 发票红冲需要做账吗
  • 什么情况下当月不排卵
  • 简易征收开出去的票可以抵扣吗
  • 认证不抵扣的账务处理
  • 土地转让如何缴纳增值税
  • 记账凭证是不是会计凭证
  • 抵扣发票未申报
  • 房地产分期开发的标准
  • 折扣折让的销售方式有哪些
  • 车辆保险属于金融机构吗
  • 个体工商户2020
  • 作为一名新手
  • 小微企业贷款利息补贴
  • 企业工资和社保缴费基数
  • 新公司第一年
  • 对增值税发票开具方面有何要求?
  • phpstorm如何运行
  • php 字符串函数
  • 贷款房屋评估费怎么收
  • 注销库存股的会计分录怎么理解
  • PHP:pg_fetch_all()的用法_PostgreSQL函数
  • pc应用是什么意思
  • 营业外收入账户性质
  • phpstudy配置https
  • thinkphp join
  • php t_string
  • yolov5 教程
  • 领用包装物会计处理
  • 命令行窗口
  • 工会经费怎么上缴
  • 核销发生的坏账损失
  • 电脑自学网站推荐
  • mongodb主从复制原理
  • sqlserver sid
  • 个人所得税申报截止时间
  • 债权投资和其他债权投资举例
  • 2020年增值税税收政策
  • 小规模企业申报哪些税
  • 销货方和供货方的区别
  • 软件即征即退开票信息与资料不符
  • 个税汇算清缴什么意思?
  • 会计付租金会计分录
  • 现金支付有借款利息吗
  • 费用报销单一张写不完怎样转下一张?
  • 应交税费中应交税金包含个税吗
  • 小规模应收利息怎么算
  • 购买农药化肥怎么入账
  • 子公司和区域公司的区别
  • 发票过账是什么意思
  • 备查账簿有没有固定的格式
  • 建账固定资产的期初科目是什么
  • 断电恢复
  • vista正版破解
  • mac怎么录制
  • Fedora Core 8中yum设置
  • linux的ps命令用法
  • SSDP Discovery Service 是什么可以禁用吗
  • swupdtmr.exe - swupdtmr进程是什么意思 什么作用
  • 五笔输入法怎么切换中文
  • windows xp的控制面板
  • Win10如何设置电脑密码
  • Linux 中的nc命令小结
  • linux shell终端
  • python爬虫框架 path
  • js复制数组的方法
  • 欢迎使用城市供水信息服务平台
  • 修改bash_profile
  • python win
  • 安卓view事件分发
  • jQuery实现磁力图片跟随效果完整示例
  • android Graphics(一):概述及基本几何图形绘制
  • js如何使用cookie
  • Jquery $when done then的用法详解
  • 江苏税务登录密码是几位
  • 免税关口
  • 文件印发的格式怎么设置
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设