npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

leo-nick

v1.0.0

Published

leo开发的古风治愈系个性网名/昵称生成工具,纯原生JS无依赖,兼容Node.js和浏览器

Readme

leo-nick

古风治愈系个性网名/昵称生成工具

作者: leo

纯原生 JavaScript 开发,无任何第三方依赖,兼容 Node.js 和浏览器环境。

特性

  • 内置两套精选中文词库:形容词词库 + 名词意象库
  • 支持自定义词库
  • 批量生成自动去重
  • 零依赖,轻量级
  • 兼容 CommonJS 和浏览器

安装

npm install leo-nick

快速开始

const { generateOne, generateNicknames } = require('leo-nick');

// 生成单个昵称
console.log(generateOne()); // => "晚风鲸"

// 批量生成昵称
console.log(generateNicknames({ count: 5 }));
// => ["雾屿鹿", "青衫鹤", "星河屿", "微光川", "流年人间"]

API 文档

generateOne(options?)

生成单个古风昵称。

参数

| 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | options.separator | string | '' | 前后缀之间的分隔符 | | options.adjectives | string[] | 内置形容词词库 | 自定义形容词数组 | | options.nouns | string[] | 内置名词意象库 | 自定义名词数组 |

返回值

  • string - 生成的昵称

示例

// 默认生成
generateOne(); // => "晚风鲸"

// 带分隔符
generateOne({ separator: '-' }); // => "晚风-鲸"
generateOne({ separator: '_' }); // => "晚风_鲸"
generateOne({ separator: '·' }); // => "晚风·鲸"

// 自定义词库
generateOne({
  adjectives: ['清风', '明月'],
  nouns: ['故人', '江南']
}); // => "明月江南"

generateNicknames(options?)

批量生成古风昵称,自动去重。

参数

| 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | options.count | number | 10 | 生成数量 | | options.separator | string | '' | 前后缀之间的分隔符 | | options.adjectives | string[] | 内置形容词词库 | 自定义形容词数组 | | options.nouns | string[] | 内置名词意象库 | 自定义名词数组 |

返回值

  • string[] - 生成的昵称数组(已去重)

示例

// 批量生成
generateNicknames({ count: 5 });
// => ["晚风鲸", "雾屿鹿", "青衫鹤", "星河屿", "微光川"]

// 带分隔符批量生成
generateNicknames({ count: 3, separator: '_' });
// => ["晚风_鲸", "雾屿_鹿", "青衫_鹤"]

// 自定义词库批量生成
generateNicknames({
  count: 5,
  adjectives: ['暮云', '寒烟'],
  nouns: ['归途', '远方']
});
// => ["暮云归途", "寒烟远方", ...]

导出词库

可直接引用内置词库:

const { ADJECTIVES, NOUNS } = require('leo-nick');

console.log(ADJECTIVES); // ["晚风", "雾屿", "青衫", ...]
console.log(NOUNS);      // ["鲸", "鹿", "鹤", ...]

场景示例

游戏 ID 命名

const { generateNicknames } = require('leo-nick');

// 生成游戏角色名
const gameNames = generateNicknames({ count: 10, separator: '-' });
console.log('随机游戏ID:', gameNames);

社交媒体昵称

const { generateOne } = require('leo-nick');

// 生成带特殊符号的网名
const separators = ['_', '-', '·', '☆'];
const weiboNames = separators.map(sep => generateOne({ separator: sep }));
console.log('社交媒体昵称:', weiboNames);

诗词风格签名

const { generateOne } = require('leo-nick');

// 生成古风网名
const poetNames = Array.from({ length: 5 }, () =>
  generateOne({ separator: ' ' })
);
console.log('古风签名:', poetNames);
// => ["浮生 人间", "云深 彼岸", "微光 深海", ...]

批量生成用于选择

const { generateNicknames } = require('leo-nick');

// 生成100个候选昵称供选择
const candidates = generateNicknames({ count: 100 });
candidates.forEach((name, i) => console.log(`${i + 1}. ${name}`));

内置词库

形容词词库 (48个)

晚风、雾屿、青衫、星河、微光、流年、素衣、清欢、白露、浮生、云深、浅墨、
南风、北辰、东篱、西楼、归鸿、离殇、锦书、纸鸢、烟雨、霜华、落霞、孤鹜、
春风、秋水、夏蝉、冬雪、明月、清风、薄雾、浓雾、樱花、落叶、飞鸟、游鱼、
晨曦、暮色、烟波、山岚、竹影、梅香、兰心、菊黄、荷风、枫红、松涛、寒梅

名词意象库 (48个)

鲸、鹿、鹤、屿、川、人间、浅海、深渊、彼岸、流光、星河、烟雨、尘埃、浮游、
孤岛、深海、微尘、旧梦、新月、落日、晨雾、晚星、古道、长亭、短亭、兰舟、
竹马、青梅、红豆、白首、青丝、白发、流霞、云烟、风月、花影、蝶梦、蝉鸣、
雁归、鱼跃、鹤舞、鹿鸣、猿啼、风声、雨声、读书声

浏览器环境使用

<script src="leo-nick.js"></script>
<script>
  // 浏览器中使用
  console.log(leoNick.generateOne());
  console.log(leoNick.generateNicknames({ count: 5 }));
</script>

注:浏览器环境需要将 index.js 重命名为 leo-nick.js 或自行构建打包。

本地开发调试

使用 npm link 本地调试:

# 1. 进入项目目录
cd leo-nick

# 2. 创建全局链接
npm link

# 3. 在需要调试的项目中使用
cd /path/to/your-project
npm link leo-nick

# 4. 现在可以在项目中 require('leo-nick') 使用本地版本

# 5. 调试完成后,取消链接
npm unlink leo-nick

发布到 npm

完整发布流程

# 1. 进入项目目录
cd leo-nick

# 2. 检查 package.json 配置是否正确
cat package.json

# 3. 切换到 npm 官方源
npm config set registry https://registry.npmjs.org/

# 4. 登录 npm 账号(如未登录)
npm login
# 输入用户名、密码、邮箱

# 5. 发布包
npm publish

# 6. 发布成功后,切换回国内镜像(可选)
npm config set registry https://registry.npmmirror.com/
# 或
npm config set registry https://npm.taobao.org/

# 7. 验证发布成功
npm view leo-nick

注意事项

  • 包名 leo-nick 已被占用,请修改为其他名称
  • 首次发布需要先在 npmjs.com 注册账号
  • 版本号 1.0.0 每次发布需要递增
  • 发布标签默认是 latest,可使用 npm publish --tag beta 发布测试版

更新已发布包

# 1. 修改版本号(遵循 semver 规范)
#    patch: 1.0.0 -> 1.0.1(小修复)
#    minor: 1.0.0 -> 1.1.0(新增功能)
#    major: 1.0.0 -> 2.0.0(破坏性更新)

# 2. 提交代码
git add .
git commit -m "feat: xxx"

# 3. 发布
npm publish

License

MIT © leo