{{span1}} {{span2}} 次上傳
過去一年提交{{total}}{{oneyearbeforeday}} - {{thisday}}
最近一月提交{{thisweekdatacore}}{{amonthago}} - {{thisday}}
最近一周提交{{weekdatacore}}{{aweekago}} - {{thisday}}
lerna 源码阅读
本地环境搞起来 下载源码,安装依赖 vscode 创建默认 launch.json,添加参数"args": ["ls"] F5 运行看下是否打印出东西来 在入口文件里面打断点尝试调试,如果断点成功,说明环境OK 技术点整理 file:../abc方式引入依赖包(优于 link),发布的时候自动替换为正常的版本号12345678{ "dependencies": { "@lerna/global-options": "file:../global-options", "dedent": "^0.7.0", "npmlog": "^4.1.2", "yargs": "^14.2.2" }} JS事件循环,宏任务,微任务12345678910111213console.log(1)setTimeout(() ...
npm
目前支持以下几类依赖包管理 官网文档==>package.json doc dependencies依赖关系在一个简单的对象中指定,该对象将程序包名称映射到版本范围。 npm i is-odd -s/-S/--save写成不识别的-d/-A/-B/-C等会默认为--save devDependencies该脚本将在发布之前运行,因此用户可以使用该功能而无需他们自己对其进行编译。 npm i is-odd -D/--save-dev peerDependencies/peerDependenciesMeta optionalDependencies像dependencies对象一样。区别在于构建失败不会导致安装失败。运行npm install --no-optional将阻止安装这些依赖项。 npm i is-odd -O/--save-option bundledDependencies/bundleDependencies 依赖关系的指定版本范围 官网文档==>semver version必须version完全匹配 >version 必须大于 ...
pnpm
官网
脚手架原理
脚手架简介脚手架本质是一个操作系统的客户端,它通过命令执行 vue create vue-test-app --force -r https://registry.npm.taobao.org 这条命令由四部分组成: 主命令:vue command:create command 的 param:vue-test-app option: --force:可以理解为--force true,可简写为-f trueor-f -r https://...:https://...是-r的param 脚手架执行原理 - 在终端输入命令:`vue create vue-test-app` - 终端解析出`vue`命令:`which vue`(`win`用`git bash`) - 终端在环境变量中找到`vue`命令 - 终端根据`vue`命令链接到实际文件`vue.js` - 终端利用`node`执行`vue.js` - `vue.js`解析`command/options` - `vue.js`执行`command` - 执行完毕,退出执行 从应用的角度看如何开发一个脚手架?vue- ...
使用 lerna 开发一个脚手架
git规范master仓库、dev开发、release上线 开始开发创建分支dev/0.0.1 上线push并marge分支dev/0.0.1到master分支 打上标签release/0.0.1 删掉dev/0.0.1分支 开发的时候自动创建dev/0.0.2分支 git repo—fork—>own git repo—clone—>loal repo(本地创建分支开发,一般由脚手架统一管理比较好)开发完成后loal repo—push—>own git repo—pull requests—code review(代码检查/评审)—合并—>git repo—>打个tag,删掉开发分支 脚手架开发流程脚手架项目初始化 npm init -y # 初始化 npm 项目 cnpm install --global lerna # 安装 lerna(如果 cnpm 不好使可以用 yarn) cnpm i -D lerna # 安装 lerna lerna init # 初始化项目12345678# .gitignore.vscode.ideano ...
hexo-butterfly播放QQ新歌排行榜音乐
在 aplayer 上面增加了页面跳转、刷新会接着上一句继续播放、页面关闭其它页面继续播放功能 正在播放音乐的页面关闭后,下次打开浏览器也会接着上一句继续播放 发布了 npm 包 aplayer2 准备 获取音乐列表ID 打开QQ音乐PC客户端并登录,依次点击【音乐馆】【排行】【新歌榜】【批量操作】【全选】【添加到】【添加到新歌单】【输入歌单名并保存】 在左侧创建的歌单找到【歌单名】并单击,点击【分享】【复制链接https://c.y.qq.com/base/fcgi-bin/u?__=f346JO4t】 打开浏览器粘贴到地址栏https://y.qq.com/n/yqq/playlist/8037641642.html,音乐列表ID就是8037641642 配置\_config.butterfly.yml或者\themes\butterfly\_config.yml 12345678910# Inject the css and script (aplayer/meting)(******此处修改******)aplayerInject: enable: true p ...
JumpServer
JumpServer 是一款开源堡垒机系统,支持多用户管理服务器,支持 Web 终端、文件上传下载、会话审计等功能,适合中小型企业或个人运维使用。 安装步骤1234567891011cd /optyum -y install wgetwget https://github.com/jumpserver/installer/releases/download/v2.6.1/jumpserver-installer-v2.6.1.tar.gztar -xf jumpserver-installer-v2.6.1.tar.gzcd jumpserver-installer-v2.6.1export DOCKER_IMAGE_PREFIX=docker.mirrors.ustc.edu.cncat config-example.txt# 用户名 admin# 密码:5Lov@wife 或 admin./jmsctl.sh start 一键安装脚本也可以直接使用官方一键安装脚本: 1curl -sSL https://github.com/jumpserver/jumpserver/relea ...
js 算法杂记
算法 解决问题的计算方法 程序=数据结构+算法 判断括号是否闭合思路:使用栈解决,遇到 ( 入栈,遇到 ) 出栈,栈空了合法 12345678910111213141516171819202122/** * 判断括号是否闭合 * @param {String} str */function brackets(str) { var arr1 = str.split('') var arr2 = [] for (let i = 0; i < arr1.length; i++) { if (arr1[i] === "(") { arr2.push("(") } else if (arr1[i] === ")") { arr2.pop() } } return !arr2.length}// 测试用例 true 闭合,false 未闭合brackets( ...
从配置文件认识rollup
rollupVUE2 组件库初始化项目 npm init -y cnpm i -D rollup 安装常用插件1cnpm i -D rollup-plugin-node-resolve rollup-plugin-commonjs rollup-plugin-babel rollup-plugin-json rollup-plugin-vue@5 rollup-plugin-postcss @babel/core @babel/preset-env rollup-plugin-terser vue-template-compiler 注意:rollup-plugin-vue@5 适用于 Vue2,且需安装 vue-template-compiler。 配置rollup.config.dev.js1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950const path = require('path')const rollupRes ...
Babel 是一个 JavaScript 编译器!
Babel 是一个广泛使用的 JavaScript 编译器,可以让你在当前环境下使用最新的 JavaScript 语法(如 ES6+),并将其编译为兼容旧环境的代码。 代码示例index.js 123import {test} from 'test'export default test 步骤详解第一步,安装 @babel/node cnpm i -D @babel/nodenpx babel-node index.js 此时报错 1Error: Cannot find module '@babel/core' 第二步,安装 @babel/core cnpm i -D @babel/corenpx babel-node index.js 此时报错 12345import * as test from 'test';^^^^^^SyntaxError: Cannot use import statement outside a module意思是:SyntaxError:无法在模块外部使用imp ...
免费申请 ssl 证书
免费证书申请SSL 证书可以让你的网站支持 HTTPS,提升安全性和可信度。以下介绍几种常见的免费 SSL 证书申请方式。 1. 使用 caddy 自动代理并生成 SSLCaddy 是一个自动化 HTTPS 的 Web 服务器,支持自动申请和续签 Let’s Encrypt 证书。 Caddy 配置示例1234example.com { reverse_proxy 127.0.0.1:8080 encode gzip} Caddy 会自动为域名申请并续签 SSL 证书,无需手动操作。 2. 使用 nginx 配置 IP 证书以 IP 证书 nginx 配置为例: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546server { listen 80 default_server; listen [::]:80 default_server; location / { add_header "Ac ...
js 的 Web API 接口参考
常用 Web API 参考1. Crypto 加密 Crypto.subtle 仅支持 https,用于加密、解密、签名等操作。 示例:生成 SHA-256 哈希 12345678async function sha256(message) { const encoder = new TextEncoder(); const data = encoder.encode(message); const hashBuffer = await crypto.subtle.digest('SHA-256', data); return Array.from(new Uint8Array(hashBuffer)).map(b => b.toString(16).padStart(2, '0')).join('');}// 用法sha256('hello world').then(console.log); 2. Notifications API 系统通知 需用户授权,常用于消 ...
jsdelivr 各种加速,挺好用
简介jsDelivr 是一个免费、快速且可靠的开源 CDN 服务,支持 npm、GitHub、WordPress 等多种资源加速,适合前端库、静态资源、图片等文件的全球分发。 使用说明 无需登录和注册,以 GitHub 为例可加速仓库所有内容。 格式:固定地址 https://cdn.jsdelivr.net/gh/ + github用户名/ + github公开仓库名 完整示例:https://cdn.jsdelivr.net/gh/jquery/static/README.md注意:新建仓库后首次加速可能需要等待几分钟。 配置参考npm 加速123456789101112131415161718192021# 加载 npm 上的任意项目https://cdn.jsdelivr.net/npm/package@version/file# 加载 jQuery v3.2.1https://cdn.jsdelivr.net/npm/jquery@3.2.1/dist/jquery.min.js# 使用版本范围https://cdn.jsdelivr.net/npm/jquery@3.2/ ...
windows指令
官网文档 PowerShell 官方文档 Windows 命令行文档 Windows 命令 PDF 索引 常用命令复制文件/文件夹12345678910111213141516:: 查看 copy 命令帮助copy /?:: 复制文件到文件copy test.txt a.html:: 复制文件到指定目录copy test.txt D:\target\:: 复制整个文件夹(含子文件夹和文件)xcopy D:\source D:\target /E /H /C /I:: 在 Docker 容器中复制文件docker exec -it jenkins copy test.txt a.htmldocker exec -it jenkins copy /var/test.txt a.htmldocker exec -it jenkins copy /var/test.txt test\ 进程与端口查看12345:: 查看端口占用netstat -aon | findstr "4000":: 根据 PID 查找进程tasklist | findstr "1234 ...
mongo
可视化工具 Robo 3T 官网 快速上手推荐使用 docker-compose 安装 mongo文档==>所有的角色 查看容器名称 1docker ps 进入容器并执行指令 容器名称如 mongo_mongo_1,指令 mongo 1docker exec -it mongo_mongo_1 mongo 进入admin数据库 1use admin 输入访问账密 输出 1 为成功连接 1db.auth('root','123') 创建用户自己的数据库的管理角色 1use yourdatabase 1db.createUser({user: "user", pwd: "password", roles: [ { role: "dbOwner", db: "yourdatabase" } ]}) 查看用户 1show users 删除用户删除用户必须由账号管理员来删,所以,切换到admin角色 1use ad ...
NPM 镜像
NPM 镜像源推荐与配置国内访问 npm 官方源速度较慢,推荐使用国内镜像源以提升依赖安装速度。 常用 NPM 镜像源 淘宝镜像https://www.npmmirror.com/淘宝 NPM 镜像(现已更名为 npmmirror)。 华为云镜像https://mirrors.huaweicloud.com/repository/npm/华为 NPM 镜像。 腾讯云镜像https://mirrors.cloud.tencent.com/npm/ 中国科学技术大学镜像https://mirrors.ustc.edu.cn/npm/ 常用命令 查看当前镜像源npm get registry 临时切换镜像源npm --registry=https://registry.npmmirror.com install <package> 永久切换镜像源npm config set registry https://registry.npmmirror.com 恢复官方源npm config set registry https://registry.npmjs.or ...
html基础
字符集1234567utf-8是目前最常用的字符集编码方式,常用的字符集编码方式还有gbk和gb2312;gb2312简单中文,包括6763个汉字;BIG5繁体中文,港澳台等用;GBK包含全部中文字符,是GB2312的扩展,加入对繁体字的支持,兼容GB2312;UTF-8则包含全世界所有国家需要用到的字符;记住一点:以后我们统统使用UTF-8字符集,这样就避免出现字符集不统一而引起乱码的情况了。 HTML文档结构12345678910<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <title>标题</title></head><body> <!-- 页面内容 --></body></html> <!DOCTYPE html> 声明文档类型,HTML5标准写法。 <html> 根标签,lang属性指定语 ...
JavaScript 标准内置对象
可索引的集合对象 这些对象表示按照索引值来排序的数据集合,包括数组、类型数组,以及类数组结构的对象。 Array所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。 JavaScript 的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。 数组 37 个方法,具体参考 文档 123456789101112131415161718192021222324252627282930/*slice方法*/[1,2,3,4,5,6].slice(2) // [3, 4, 5, 6][1,2,3,4,5,6].slice(2,5) // [3, 4, 5][1,2,3,4,5,6].slice(-2) // [5, 6][1,2,3,4,5,6].slice(6) // []/*判断是否为数组*/Array.isArray([])/*浅层次复制数组的 3 种方法--->浅层次指非二维数组或包含对象*/var arr=[1,2,3]var newarr = [...arr]// 方法1var newarr = O ...
javascript
js文档MDN doc 简介JavaScript 是一种属于网络的脚本语言,已经被广泛用于 Web 应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览体验。本节主要带大家熟悉 JavaScript 语句,巩固 JavaScript 基础,应对相关面试提问。 程序的三种基本结构 顺序结构:从上到下执行的代码就是顺序结构,程序默认就是由上到下顺序执行的; 分支结构:根据不同的情况及判断,执行对应代码; 循环结构:重复执行一段代码。 JS 组成JS 由三部分组成,分别是: DOM(文档对象模型) BOM(浏览器对象模型) ES(ECMAScript 规范,如 ES5、ES6 等) 前端框架与工具类库: JQuery Lodash JS 框架: React Vue Angular Ext JS Backbone 工具: webpack(Build) jest(Test) ESlint(Lint) Template(EJS) 应用方面的(Echarts/D3/three) 区别: 框架—包含—>库框架—调用—>运行代码(如:生命周期函数 ...
npmjs包管理工具和nodejs版本管理
npmjs包管理工具和nodejs版本管理Node.js 简介 免费、开源、跨平台 服务器端 JavaScript 运行环境 基于 Chrome V8 引擎,采用事件驱动、非阻塞式 I/O模型 安装 Node.jsWindows 推荐使用 nvm-windows 管理 Node.js 版本 1234567nvm --version # 查看 nvm 版本nvm list # 查看已安装的所有 Node.js 版本nvm ls-remote # 查看服务器端所有可用 Node.js 版本nvm install v15.1.0 # 安装指定版本 Node.jsnvm use v10.15.1 # 切换 Node.js 版本nvm uninstall v10.15.1 # 卸载指定版本nvm --help # 查看帮助 macOS / Linux 推荐使用 Homebrew 安装 n 进行 Node.js 版本管理 12345brew install n ...