首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Node.js + typescript 一个命令批处理辅助工具

好在这些预编译语言都提供cli工具可在控制台输入命令行编译,那么完全可以把它们的命令关联起来,做一个批量执行的工具。...搞定 4.进阶功能 到这里,一个简单的命令批量执行工具代码就已经基本完成了。但是需求总是会变的。 1.前后生命周期 为什么要添加生命周期?...遍历文件夹查找匹配运行 到现在,如果只是执行确定的命令,那么已经完全没问题了,但是有时候需要编译的文件会有很多,像stylus、pug这些可以直接编译整个文件夹的还好, 像ts的话就只能一个文件一条命令...一个遍历文件夹的函数: // util.ts const fs = require("fs"); const Path = require("path"); /** * 遍历文件夹 * @param...因为命令都是字符形式的无法根据情况改变,那么有两种方法解决这样的情况: 1.使用字符串模板替换掉对应的字符 2.使用js执行,根据传回的字符来替换掉对应的字符,再执行命令 现在实现一个模板替换的功能(模板来源于

1.1K30

Node.js + typescript 一个命令批处理辅助工具

好在这些预编译语言都提供 cli 工具可在控制台输入命令行编译,那么完全可以把它们的命令关联起来,做一个批量执行的工具。...3.基本功能 3.1 获取控制台输入的命令 首先是获取到控制台输入的命令,这里抽取出来做为一个工具函数。...4.2 遍历文件夹查找匹配运行 到现在,如果只是执行确定的命令,那么已经完全没问题了,但是有时候需要编译的文件会有很多,像 stylus、pug 这些可以直接编译整个文件夹的还好, 像 ts 的话就只能一个文件一条命令...一个遍历文件夹的函数: // util.ts const fs = require("fs"); const Path = require("path"); /** * 遍历文件夹 * @param...因为命令都是字符形式的无法根据情况改变,那么有两种方法解决这样的情况: 使用字符串模板替换掉对应的字符 使用js执行,根据传回的字符来替换掉对应的字符,再执行命令 现在实现一个模板替换的功能(模板来源于

1.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

【自学总结】基于 node 一个 todo 命令行工具

前言 最后公司官网要用 node 重构,所以这段时间开始在学习 node 系列知识,一般对于新东西的上手,就是做一个 todo 的功能,所以这里也是基于 node 一个 todo 命令行工具。...命令行相关的库 commander.js node.js 命令行界面的完整解决方案是Ruby中Commander在node.js中的实现。...为commandline程序提供强大的参数解析能力.是TJ所写的一个工具包,其作用是让node命令行程序的制作更加简单。...具体用法请参考 github: https://github.com/tj/command... inquirer.js inquirer.js 一个用户与命令行交互的工具 开始通过npm init...5.对于数据的保存这里没有使用数据库存,简单的使用了文件,为此,我们需要封装文件相关的读和操作,创建 db.js,内容如下 const homedir = require('os').homedir

63010

如何一个简单的node.js c++扩展

如何一个简单的node.js c++扩展 node 是由 c++ 编写的,核心的 node 模块也都是由 c++ 代码来实现,所以同样 node 也开放了让使用者编写 c++ 扩展来实现一些操作的窗口...为什么要写 c++ 扩展 可以简单理解为,如果想基于 node 一些代码,做一些事情,那么有这么几种选择: 一段 JS 代码,然后 require 执行 一段 c++ 代码,编译后 require...简单总结一下, c++ 的扩展大概有这么几个好处: 可以复用 node 的模块管理机制 有比 JS 更高效的执行效率 有更多的 c++ 版本的轮子可以拿来用 怎么去一个简单的扩展 node 从问世到现在已经走过了...这里直入正题,放出今天比较关键的一个工具node-addon-api module 以及这里是官方提供的各种简单 demo 来让大家熟悉这是一个什么样的工具node-addon-examples...需要注意的一点是, demo 目录下会分为三个子目录,在 readme 中也有,分别是三种不同的 c++ 扩展的写法(基于不同的工具)。

2K30

node.js从零开始去一个简单的爬虫

如果你不会Python语言,正好又是一个node.js小白,看完这篇文章之后,一定会觉得受益匪浅,感受到自己又新get到了一门技能,如何用node.js从零开始去一个简单的爬虫,十分钟时间就能搞定,步骤其实很简单...node的安装就不一步步的解释了,如果不会可以自行百度。在node开大环境下开始第一步: 1:在d盘新建一个文件夹WebSpider ?...如果想要将爬取的数据和图片分类放好,那就事先建立一个data和image文件夹准备着。...图片.png 7:重点内容,打开first_spider,并一行一行的敲代码,如果你不想代码的话,去网站上找一些代码过来进行测试即可。...first_spider.js 程序就跑起来了。

1.1K10

Node.js 一个多人游戏服务器引擎

预计阅读时间: 30 分钟 翻译:疯狂的技术宅 原文:https://www.smashingmagazine.com/2018/12/multiplayer-text-adventure-engine-node-js...首先要介绍的就是整体设计;然后介绍我将用来编码的相关工具;最后我将向你展示一些核心代码(当然,还有指向完整代码库的链接)。 希望到最后,你能够自己创造一个新的文字冒险游戏,并与朋友一起乐在其中!..."name": "Big room", 7 "south": { "node": "1stroom", "distance": 1}, 8 "north": { "node...": "bossroom", "distance": 2}, 9 "east": { "node": "rightwing", "distance": 3} , 10 "...内容很多,将来我可能会考虑一个编辑器,来简化 JSON 文件的创建。但就目前而言还没有必要。 你可能还没有意识到,这样在文件中定义游戏是有很大好处的,能够像超级任天堂时代那样切换 JSON 文件。

2.2K40

怎样开发一个 Node.js 命令行工具

如果没有,首先检查函数列表是否包含一个我们寻找的命令。如果命令不是一个函数,那么在内建命令列表中检查。shell 内建命令是指 bash(或其它版本)工具集中的命令。...当在 bash 中键入一个命令时系统会先看他是否是一个内建命令,如果不是才会查看是否是系统命令或第三方工具。...是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell,比如我们在自定义 shell 脚本的时候可以在脚本的第一行指定当前脚本所使用的解释器: #!..."main": "dist/lib/library.js", ... } 这样别人用我们的包的时候就可以使用相关的 API 了,但是我们的包定位是 cli 命令行工具,所以这一步是可选的,index.ts...除此之外,理解 Linux 指令的运行原理以及 node bin 的执行原理对于理解 cli 命令是怎么跑的特别重要,从而还能扩展出一些其他用法,我们的项目还能不只是 JS 项目,还可以 C++ 扩展模块

87720

Node.js】初识Node.js

Node.js架构 ?   1. Node.js跨平台支持*nix与Windows得益于Libuv中间层,通过它去调用不同操作系统的底层操作。   2....Node.js底层由C++实现,因此可以编写C++扩展模块,经封装后由JS调用,这样可以解决需要提升性能时(例如频繁的位运算,JavaScript的一个弱点是位运算,由JS来做性能低),就可以编写C++...初学网络编程 Node.js标准库提供了http模块,其中封装了一个高效的HTTP服务器和一个简易的HTTP客户端。...http.server是一个基于事件的HTTP服务器,核心由Node.js下层C++部分实现,接口由Javascript封装,兼顾高性能与简易性。   ...Node.js学习资料   1. 《Node.js入门指南》,推荐,适合入门   2. 《深入简出Node.js》,有深度,推荐 五. 其他备忘   1.

22.8K90

Node.js版本管理工具

NVM NVM的全称是Node Version Manager,是一个使用 bash 脚本编写的跨平台Node.js 版本管理器。它允许你在同一个机器上安装和切换多个 Node.js 版本。...> 例如,要切换到安装的某个版本,可以运行: nvm use 14.17.0 N N是一个简单易用的Node.js版本管理工具,它提供了命令行工具来安装、切换和管理Node.js版本。...Volta Volta是一个比较新兴的版本管理工具,旨在解决Node.js版本管理的复杂性和不一致性问题。...Volta的工具链:Volta维护了一个工具链,其中包含了多个Node.js版本的安装和管理。当您使用Volta安装Node.js时,它会将所选版本的二进制文件下载到工具链中的特定目录。...Volta的另一个重要特性是,它可以无缝切换各种版本的Node.js,npm,Yarn,以及其他的JavaScript CLI工具

16810

「 giao-js 」用js一个js解释器

前言 在这篇文章中,我们将通过 JS 构建我们自己的 JS 解释器,用 JS JS,这听起来很奇怪,尽管如此,这样做我们将更熟悉 JS,也可以学习 JS 引擎是如何工作的!...一个完全使用 javascript 实现的,小型且快速的 javascript 解析器 本次实践我们将使用 acorn.js ,它会帮我们进行词法分析,语法解析并转换为抽象语法树。...The ESTree Spec 就诞生了,作为参与构建和使用这些工具的人员的社区标准。...: Expression | null; } Identifier 顾名思义,标识符节点,我们 JS 时定义的变量名,函数名,属性名,都归为标识符。..., scope } = astPath; const { init, test, update, body } = node; // 这里需要注意的是需要模拟创建一个块级作用域

46.4K20

使用Node.js编写命令行工具

闲来无事,在浏览 GitHub 时无意中看到了 commander.js 这个工具,16k 的 start,就看了看 commander 的官方文档。...高德数据中,有一个接口是专门用来查询城市编码的,网址在这里:查询城市编码[2]。准备好这些后,就可以编写命令行工具了! 编写命令行工具 在正式编写之前,说一下 commander 的用法。...precess.argv 是 node.js 中的一个属性,当你在控制台输入参数时,这个属性就会接收到你输入到的内容,该属性会返回一个数组: // 01.jsconsole.log(process.argv...在 npm 下载模块时,有一个 -g 命令,可以安装到全局将下载的模块。同样的,我们自己的模块也能实现这样的功能。.../usr/bin/env node 字符,告诉 node,这是一个命令行脚本; 来到 package.json 文件,写下一个属性: { "bin": { // 值是文件的路径(相对于

3.4K10

node.js爬虫程序抓取维基百科(wikiSpider)

这样,抓一个页面的代码及其图片的同时,也获取这个网页上所有与key相关的其它网页的地址,采取一个类广度优先遍历的算法来完成此任务。 思路二(origin:cat):按分类进行抓取。...注意到,维基百科上,分类都以Category:开头,由于维基百科有很好的文档结构,很容易从任一个分类,开始,一直把其下的所有分类全都抓取下来。...库的选择 开始想用jsdom,虽然感觉它功能强大,但也比较“重”,最要命的是说明文档不够好,只说了它的优势,没一个全面的说明。...因此,换成cheerio,轻量级,功能比较全,至少文档一看就能有一个整体概念。其实做到后来,才发现根本不需要库,用正则表达式就能搞定一切!用库只是少写了一点正则而矣。...} }) })(key); 正则清理 使用正则表达式清理无用的页面代码,因为有很多模式需要处理,写了一个循环统一处理。

62820
领券