leo-nick
v1.0.0
Published
leo开发的古风治愈系个性网名/昵称生成工具,纯原生JS无依赖,兼容Node.js和浏览器
Maintainers
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 publishLicense
MIT © leo
