nodejieba-for-alicloudspace-uniapp
v1.0.1
Published
Fastest Chinese word segmentation in Node.js
Downloads
4
Readme
nodejieba-for-alicloudspace-uniapp
uni-app 云函数云对象 存储中文数据,中文分词,实现中文全文检索,node结巴分词
专用于阿里云空间,云空间不支持自带文件,只能上传到npm,让阿里云执行npm install来安装这个插件
如果是其他系统,用不了这个插件的,只能用于Linux x64 gnu
如果是其他系统,可以到@node-rs/jieba下载文件,自己打包到npm
把JS打包到npm教程
- 到npm官网注册一个账号(账号名,>8位密码,邮箱一个)
- 回到自己的包文件夹,新建一个package.json文件
文件名: package.json
内容如下:
{
"name": "nodejieba-for-alicloudspace-uniapp",
"version": "1.0.0",
"description": "Fastest Chinese word segmentation in Node.js",
"keywords": [
"Jieba",
"uniapp",
"nodejieba"
],
"author": "作者 <作者邮箱>",
"homepage": "",
"license": "MIT",
"main": "index.js",
"files": [
"index.js",
"jieba.linux-x64-gnu.node",
"LICENSE"
],
"engines": {
"node": ">= 10"
},
"publishConfig": {
"registry": "https://registry.npmjs.org/",
"access": "public"
},
"repository": {
"type": "git",
"url": "git+"
},
"bugs": {
"url": ""
},
"devDependencies": {
"nodejieba": "^2.6.0"
},
"funding": {
"type": "",
"url": ""
}
}
除了`name` `main` `version`字段,其余都不重要,
其中`name`是包名,不能有大写,不能是在`npm`能搜索到的包名,
`main`为这个包的入口文件,文件名随意
- 包里面js文件写好
- 在当下文件夹地址栏键入
cmd
进入命令行模式 - 然后输入命令:
npm login
- 按提示一次输入:
用户名
密码
邮箱
- 去
邮箱
接收一个8位数密码 - Enter one-time password: 输入邮箱收到的8位数密码
- 登录成功,输入命令:
npm publish
- 发布成功,在需要你这个包的文件夹地址栏键入cmd,进入命令行,[
npm install 包名
] 安装对应的包 - 如果想只用一个
npm install
自动为你的文件夹[专业术语叫:包]安装所需要的插件[专业术语叫:依赖]阿里云
就是自动执行的这一句,不允许自带文件包 - 可以在package.json文件中添加根字段
"dependencies": {
"依赖需要的包名1":"发布时写的version版本号 1.0.0",
"依赖需要的包名2":"发布时写的version版本号 1.6.5",
...
}
- 更新包:
npm version patch
+npm publish
两步命令
copy from @node-rs/jieba
jieba-rs binding to Node.js
Without node-gyp
node-rs/jieba
was prebuilt into binary already, so you don't need fighting with node-gyp
and c++ toolchain.
Performance
Due to jieba-rs is 33% faster than cppjieba, and N-API is faster than v8
C++ API, @node-rs/jieba
is faster than nodejieba
.
@node-rs/jieba x 3,763 ops/sec ±1.18% (92 runs sampled)
nodejieba x 2,783 ops/sec ±0.67% (91 runs sampled)
Cut 1184 words bench suite: Fastest is @node-rs/jieba
@node-rs/jieba x 16.10 ops/sec ±1.58% (44 runs sampled)
nodejieba x 9.81 ops/sec ±2.39% (29 runs sampled)
Cut 246568 words bench suite: Fastest is @node-rs/jieba
@node-rs/jieba x 1,739 ops/sec ±0.87% (92 runs sampled)
nodejieba x 931 ops/sec ±1.31% (89 runs sampled)
Tag 1184 words bench suite: Fastest is @node-rs/jieba
@node-rs/jieba x 6.19 ops/sec ±2.01% (20 runs sampled)
nodejieba x 3.06 ops/sec ±5.39% (12 runs sampled)
Tag 246568 words bench suite: Fastest is @node-rs/jieba
Support matrix
| | node12 | node14 | node16 | node18 | | ---------------- | ------ | ------ | ------ | ------ | | Linux x64 gnu | ✓ | ✓ | ✓ | ✓ |
Usage
const { load, cut } = require('@node-rs/jieba')
load()
// loadDict(fs.readFileSync(...))
// loadTFIDFDict(fs.readFileSync(...))
cut('我们中出了一个叛徒', false)
// ["我们", "中", "出", "了", "一个", "叛徒"]
const { load, cut } = require('@node-rs/jieba')
load()
extract(
'今天纽约的天气真好啊,京华大酒店的张尧经理吃了一只北京烤鸭。后天纽约的天气不好,昨天纽约的天气也不好,北京烤鸭真好吃',
3,
)
// [
// { keyword: '北京烤鸭', weight: 1.3904870323222223 },
// { keyword: '纽约', weight: 1.121759684755 },
// { keyword: '天气', weight: 1.0766573240983333 }
// ]