当前位置: 首页 > 科技观察

这些Node开源工具你值得拥有(下)

时间:2023-03-21 16:41:59 科技观察

本文转载自微信公众号《前端那些有趣的故事》,作者舒江军。转载本文,请联系前端那些有趣的事情公众号。通过阅读awesome-nodejs库的合集,我提取了一些应用场景较多的分类,通过分类涉及的应用场景与大家分享工具。一、Git1.1应用场景一:实现git提交前的eslintchecksum和commit信息Canonical校验?以下工具可用:husky-现代原生Git挂钩,使事情变得更容易预提交-在运行npm测试的git存储库中自动安装git预提交脚本。由友达重写的yorkie,yorkie其实就是forkhusky,方便Githooks(在vue-cli3x中使用)1.2应用场景2:如何通过node拉取git仓库?(可用于开发脚手架)您可以使用以下工具:download-git-repo-下载并提取Git存储库(支持GitHub、GitLab、Bitbucket)。1.3应用场景三:如何在终端查看git流程图?您可以使用以下工具:gitgraph-在终端中绘制git流程图(支持浏览器、React)。1.4杂项git-url-parse-高级git解析。giturl-将Giturl转换为weburl.2.环境2.1应用场景一:如何根据不同的环境编写不同的环境变量?您可以使用以下工具:cross-env-跨平台环境脚本设置,您可以使用简单的命令(设置环境变量)而不用担心设置或使用环境变量的平台。dotenv-从.env文件加载nodejs项目的环境变量。vue-cli--mode-可以通过传递--mode选项参数为命令行覆盖默认模式厂商,如npm、cnpm、nj、taobao等,也可以切换到内部npm源pnpm-与yarn相比,npm节省的硬盘空间与项目和依赖成正比3.2应用场景2:如何读取package.json信息?以下工具可用:read-pkg-up-读取最新的package.json文件。node-pkginfo-从package.json读取属性的简单方法。3.3应用场景三:如何查看当前package.json依赖允许的更新版本可以使用以下工具:npm-check-updates-查找当前package.json依赖允许的更新版本。3.4应用场景四:如何同时运行多个npm脚本通常我们想要运行多个脚本,可能像这样npmrunbuild:css&&npmrunbuild:js,设置会比较长下面的工具可以用于通过&拼接:npm-run-all-同时运行多个npm脚本的命令行工具(并行或串行)npm-run-all提供了三个命令,分别是npm-run-allrun-srun-p,后者两个是npm-run-all带参数的简写,分别对应serial和parallel。并且还支持匹配分隔符,可以简化脚本配置或者使用concurrently并行执行命令,类似npmrunwatch-js&npmrunwatch-less但是更好。(但只能并行)3.5应用场景5:如何查看npm模块未使用的依赖。以下工具可用:depcheck-检查您的NPM模块是否有未使用的依赖项。3.6其他:npminstall-让npm安装更快更容易,cnpm默认使用semver-NPM使用的JavaScript语义版本号解析器。npm包在线查询,推荐一个强大的工具npm.devtool.tech4。文档生成4.1应用场景一:如何自动生成api文档?docsify-API文档生成器。jsdoc-API文档生成器,类似于JavaDoc或PHPDoc。5.日志工具5.1应用场景一:如何实现日志分类?log4js-nodey-一个不同于Javalog4j的日志记录库。consola-一个优雅的Node.js和浏览器日志库。winston-多传输异步日志库(古)6.命令行工具6.1应用场景1:如何解析命令行输入?我们的第一印象是process.argv,那么有没有其他工具可以解析它呢?可以使用以下工具:minimist-命令行参数解析引擎arg-简单参数解析nopt-Node/npm参数解析6.2应用场景二:如何让用户与命令行进行交互?可以使用以下工具:Inquirer.js-命令行工具的通用和交互式集合。prompts-轻量级、美观、用户友好的交互式命令行提示。Enquirer-用户友好、直观且易于创建时尚的CLI提示。6.3场景三:如何在命令行显示进度条?可以使用以下工具:progress-Node.js的灵活ascii进度条。progress-estimator-记录进度条并估计完成承诺需要多长时间。6.4场景四:如何在命令行执行多任务处理?可以使用以下工具:listr-命令行任务列表。6.5应用场景五:如何给命令行“加美”?可以使用以下工具:chalk-命令行字符串样式美化工具。ora-优雅的命令行加载效果。colors.js-获取Node.js控制台颜色。qrcode-terminal-在命令行中显示二维码。treeify-将javascript对象漂亮地打印为树。kleur-最快的Node.js库,它使用ANSI颜色格式化命令行文本。有兴趣的童鞋可以参考书江从0到1开发的简单脚手架,里面包含了实用工具7.加密解密一般出于项目安全的考虑,我们一般都会对账号密码进行加密,一般是通过MD5,AES,SHA1,SM,什么库在开源社区中提供给我们使用?可以使用以下工具:crypto-js-JavaScript加密标准库。大多数受支持的算法node-rsa-用于Node.js的Bcrypt。node-md5-使用MD5散列消息的JavaScript函数。aes-js-AES的纯JavaScript实现。sm-crypto-sm2、sm3、sm4的JavaScript实现。sha.js-在纯JavaScript中使用流式SHA哈希。8.静态网站生成&博客一键生成网站不好用~基于节点系统快速搭建自己的博客网站,你值得拥有,还可以作为组件库文档展示可以使用以下工具:hexo-使用Node.js快速、简单、强大的博客框架。vuepress-最小的Vue静态站点生成器。(基于nuxtSSR)netlify-cms-基于Git的静态网站生成器。vitepress-Vite和Vue.js的静态网站生成器。9.数据校验工具数据校验,离我们最近的就是表单数据的校验。在常见的element、iview等组件库中,我们会看到使用了一个开源的验证工具async-validator。还要别的吗?以下工具可用:validator.js-字符串验证库。joi-基于JavaScript对象的对象模式描述语言和验证器。async-validator-异步验证器。ajv-最快的JSON模式验证器superstruct-以简单且可组合的方式验证JavaScript和TypeScript中的数据。10.解析工具10.1应用场景一:如何解析markdown?可以使用以下工具:marked-Markdown解析器和编译器,专为速度而设计。remark-Markdown处理工具。markdown-it-支持100%通用Markdown标签解析的扩展和语法插件。10.2场景二:如何解析csv?可以使用以下工具:PapaParse-快速而强大的CSV(定界文本)解析器,可以优雅地处理大文件和格式错误的输入。node-csv-具有简单api的全功能CSV解析器,针对大型数据集进行了测试。csv-parser-流式CSV解析器,旨在比其他任何人都更快。10.3应用场景三:如何解析xml?您可以使用以下工具:xml2js-将XML转换为JavaScript对象的转换器。fast-xml-parser-验证和解析XML。最后,如果喜欢这个库,还请给作者huaize2020一个star仓库地址:awesome-nodejs昨天看到一段话,想分享给大家一个日常的研发测试:1.开始工作的第一件事就是计划今天的工作内容安排(建议有一个明确的ToDolist,并按优先级排序)2.确认工作量和上下游关联的风险(比如依赖别人,能否按时提供);有风险第一时间暴露3.注意时间成本,不是每件事都值得你花时间去做。区分主要和次要关系。4、协同完成任务,明确边界职责,不忽视任何人,完成任务后及时同步给相关人员。5、及时总结经验,积累技术产品。实现能力复用,同类型任务无需从头开始,避免重复劳动