小码农 – node

小码农小码农

小码农

wordpress,laravel和前端知识学习

使用nodejs创建自己的自动化工具

文章摘要:

nodejs能方便的进行前端的文件压缩结合等等,自动化操作,但是经常使用的我们,是不是也能方便的建立自己的自动化部署工具呢?比如:经常从头建立的文件夹模式,千篇一律的index.html等等 开发步骤 1. 安装nodejs环境 从官网或中文官网下载nodejs的安装包,参照网上的安装方法安装好nodejs环境, 此处不是介绍nodejs,,因此不介绍如何安装 2. 创建项目 创建项目文件夹,进入并执行npm init,如下图  如下信息是需要填写的 : package name: (jiaocheng) version: (1.0.0) 0.1.0 description: 自制自动化工具 entry point: (index.js) test command: git repository: keywords: author: xiaoxia license: (ISC) 在最后生成的package.json中增加一项 "bin":{ "jiaocheng&......

nodejs实现基础的jwt

文章摘要:

使用模块,nodejs原生模块 Crypto 1. 实现机制 JSON Web Token 由三部分组成,头部(Header)、载荷(Payload)与签名(Signature),并由 . 英文点拼接。 1. Header 生成jwt头部,声明其类型以及签名所用的算法等的JSON格式,并将其进行base64转码 let jwtHeader = {     typ:'JWT',     alg:'SHA256' } jwtHeader = Buffer.from(JSON.stringify(jwtHeader)).toString('base64'); // base64 2. Payload 生成jwt载荷部分,并将其进行base64转码 iss: 该JWT的签发者,是否使用是可选的; sub: 该JWT所面向的用户,是否使用是可选的; aud: 接收该JWT的一方,是否使用是可选的; exp(expires): 什么时候过期,这里是一个Unix......

Verdaccio 搭建npm私有仓库

文章摘要:

由于sinopia项目不再维护,故选取分支项目verdaccio进行搭建,使用方法一样,仅仅将sinopia换为verdaccio 环境依赖 python 2.7.x node-gyp 1. 安装verdaccio npm i -g verdaccio 配置文件 ~/.config/verdaccio/config.yaml # 存放位置 storage: ./npmdata # 认证 auth: htpasswd: file:./authpasswd max_users:10 # 抓取镜像源 uplinks npmjs: url:http://registry.npm.taobao.org/ # package packages: "@*/*": access:$all publish:$authenticated "*": access:$all publish:$authenticated # 日志 logs: - {type:stdout,format:pretty,level:http,path:./npm.log} # 监听端口(默认没有这个选项监听4873端......

Electron主进程主动触发事件

文章摘要:

主进程发送到渲染进程,一般都是渲染进程开启(窗口加载完成状态下) 方法 // 这一步就是主进程向渲染进程主动发起的请求 win.webContents.send('action') 如上,可简化为 index.html ipcRenderer.on('action' ,(event ,arg) => {     // 得到传入的a的值     console.log(arg) }) mian.js // 主进程相关处理 let a  = "asdasdasdasd" win.webContents.send('action',a)

利用fs遍历图片,使用tinify压缩

文章摘要:

gulp前端自动化中有压缩图片的工具gulp-imagemin等,但是压缩效果并不很理想,之前发现的tinypng.com网站提供许多压缩接口(puby,java,python,php,nodejs等)和插件(photo,wordpress等),当然这个是付费的.免费配额为500张图片/每月。个人觉得轻度使用是足够的。 1. 官方站点提供了常规调用方法 安装: npm install --save tinify 调用: var tinify = require('tinify'); tinify.key='your key '; 这个是提供邮箱即可获得秘钥,在此我就不贴出来了,秘钥链接:https://tinypng.com/developers 收到邮件后,点击即可获取(可能在垃圾邮件中) 压缩操作: var source = tinify.fromFile("unoptimized.jpg"); source.toFile("optimized.jpg"); 2. 利用fs获得文件数......