位置: 编程技术 - 正文

利用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基础教程)

  • 平均股东权益在利润表中怎么看
  • 递延所得税资产是什么
  • 公允价值模式下,投资性房地产不计提折旧或摊销
  • 递延税款负债在资产负债表哪个科目
  • 未开票收入的会计怎么做
  • 零申报企业所得税季度申报表怎么填写
  • 房地产企业的收入信息披露范围进一步扩大
  • 农产品收购发票开错了
  • 分包工程有哪些风险
  • 工程设计企业符合增值税抵减政策吗
  • 咨询服务费记到什么科目
  • 工人保险一个月多少钱
  • 增值税发票抵扣期限最新规定
  • 酒店更换地毯的请示
  • 企业代收代缴水电费出现差额怎么解释
  • 资产评估入账的评估报告
  • 政府给企业的钱叫什么
  • 专项应付款会计科目代码
  • 出差补助没有发票可以直接入账吗
  • 工会经费申报的依据
  • 如何在Mac上更改我的Apple ID
  • win10系统多任务功能的快捷键
  • 实际成本法核算会计分录
  • 预缴企业所得税怎么做账务处理
  • 融资租赁与经营租赁的联系
  • 如何编写会计记账凭证
  • Vue3 + Vite + TypeScript + dataV 打造可视化大屏
  • 企业的生产成本等于
  • 什么叫财政专户返还方式
  • 企业缴纳职工社保比例的规定
  • paper 1
  • python颜色代码有哪些
  • phpcms使用教程
  • 原始凭证如何粘贴在记账凭证正确粘法图解
  • 信用减值损失会影响营业利润吗
  • mysqlreport显示Com_中change_db占用比例高的问题的解决方法
  • 应付账款账务处理中的错弊
  • 保理业务的内容有哪些
  • 房东减免部分房租
  • 接待客户的住宿费进项税能否抵扣
  • 保安公司购买的保险
  • 工业企业成本核算的一般程序包括下列的
  • 管家婆进货单怎么录入?
  • 废旧物资收购发票政策2018
  • 银行汇票可用于异地结算吗
  • 酒店房间消耗品成本
  • 在固定资产下的折旧年限
  • 主营业务成本账户年终结转后
  • 罚金和罚款的区别怎么记
  • 外资房地产企业 利润汇出比例
  • windowsxp教程
  • win7系统安装谷歌浏览器
  • U盘安装ubuntu的分区详细教程
  • 开源镜像是什么意思
  • 电脑开机后显示xp界面后一直是黑屏状态
  • ubuntu怎么切换到桌面
  • xp系统强制删除文件
  • win10计算机管理器
  • linux ftp服务端
  • 如何判断win7
  • win8开机自启动在哪里设置
  • dpd参数
  • win8创建我的电脑
  • 微信小程序wx.request实现后台数据交互功能分析
  • javascript如何调用
  • jquery 动态添加列表元素
  • android native opengl
  • html文字美化
  • android开发范例实战宝典
  • python编码大全
  • Re: Latest Version: 3.7.9 (January 18th, 2015)
  • unity_jail
  • javascript程序设计教程
  • 广东省电子税务局app下载手机版
  • 江苏省电子税务局社保缴费查询
  • 补税务登记证报税要钱吗
  • 汽车购车发票开完票能更改名字吗?
  • 贵州国家税务局陈开平
  • 什么是美国注册商标
  • 明星征税多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设