node
Jamki小烽烽
这个作者很懒,什么都没留下…
展开
-
看完这篇文章再搞不懂path.resolve请捶我
曾经我有一段时间,那时我懵懂刚学前端那会,看到人家项目里很多地方用path.resolve, path.join的地方,其实path.join还算比较直观的,单纯连接路径,规范化路径(什么叫规范化?就是让把这个变成路径的样式,path.join(‘a’, ‘b’)原本路径就是ab的,这样不妥啊,所以规范化之后是a/b啦)。好了说回path.resolve, 很多时候看到这个拼接返回的路径都是奇奇怪...原创 2020-04-27 01:31:12 · 345 阅读 · 0 评论 -
Js文件遍历
文件遍历可谓是比较高频的应用场景,给定一个文件夹,把里面的所以文件遍历出来然后进行其他操作。例如打包后把dist文件夹的静态资源上传到cdn,查询某个文件夹是否存在名为xxx的文件等等。这里介绍的是利用递归的遍历:const getFiles = filePath => { let files = [] //遍历的文件全push进这个数组,方便后续操作(记住,push进去的是文件路径,...原创 2020-04-26 22:59:42 · 3089 阅读 · 3 评论 -
node爬取图片并保存到本地(重要是保存)
最近有个想法是抓取批量的验证码图片来做个验证码识别功能,所以想用node写个抓取图片的小脚本,看上去简单,问题还真不少直接上经过探索之后可行的代码,ajax请求这块用了axios,因为习惯const axios = require('axios')const fs = require('fs')fs.readdir('./', (err, files) => { //创建本地文件...原创 2019-10-29 09:43:01 · 3395 阅读 · 0 评论 -
inquirer.js -- 命令行交互工具
背景在一次需求中,要求利用命令行批量选择要打包的目录名称,于是乎我认识了inquirer.js, 极为友好及便捷的用户与命令行交互工具。inquirer.js主要功能有:提供错误反馈问问题解析输入验证答案管理分层提示安装npm install inquirer基本使用var inquirer = require('inquirer');inquirer .prom...原创 2019-08-18 02:45:02 · 1076 阅读 · 0 评论 -
koa中间件及洋葱模型
何为中间件?别被这个词吓到了!中间件本质是函数,在koa实例中使用use方法,把函数作为参数传入,这个函数便可叫做中间件如:const Koa = require("koa")const app = new Koa();function sayHello() { console.log("hello world");}app.use(sayHello)app.listen(...原创 2019-07-12 00:05:06 · 797 阅读 · 0 评论 -
防止文件上传重复算法
需求背景最近有个需求是这样的~~~公司某个平台有上传素材功能,,很多时候会上传重复素材,这样一来就带来不少问题,比较严重的就是浪费存储空间以及使素材库过于臃肿不利于查找,需求很自然的提了出来,在上传素材时判断该素材是否已经在数据库中,即使名字不一样。恰好看到七牛云公布的哈希算法,感觉尚可,那就拿来一用,各部分功能已添加注释代码// 计算文件的eTag,参数为buffer或者readable...原创 2019-07-15 18:24:26 · 1404 阅读 · 0 评论 -
koa路由模块
koa路由使用基本步骤var Koa = require('koa');var Router = require('koa-router');var app = new Koa(); //实例化koavar router = new Router(); //实例化路由router.get('/', (ctx, next) => { //编写接口 // ctx.router a...原创 2019-07-13 22:59:48 · 197 阅读 · 0 评论 -
npm备忘
备忘:清除npm缓存 npm cache clean --force重新安装npm npm i npm -g删除文件夹,比如node_modules,直接删除文件夹太深,直接使用命令行 rm -rf node_modules(亲测快很多)rm-rf:这个命令曾造成很多删库血案,令人闻风丧胆,因为这个命令实在是过于强大,rm是删除文件夹,包括文件夹里面的内容。rf 是指不用经过用户确认....原创 2019-07-10 01:29:51 · 102 阅读 · 0 评论 -
node之crypto模块
crypto作用crypto模块的目的是为了提供通用的加密和哈希算法MD5和SHA1MD5是一种常用的哈希算法,用于给任意数据一个“签名”。这个签名通常用一个十六进制的字符串表示:const crypto = require('crypto');const hash = crypto.createHash('md5');// 可任意多次调用update():hash.update('...原创 2019-07-08 01:34:48 · 433 阅读 · 0 评论 -
node之process模块
process是什么process是nodejs中的全局对象,不需要require进来,就可以直接使用,获取进程信息操作进程获取当前工作目录process.cwd() 或process.env.pwd__dirname输出结果如图:获取文件绝对位置console.log(__filename)触发警告 参数格式:process.emitWarning(warning...原创 2019-07-07 18:46:54 · 574 阅读 · 0 评论