Skip to content

node-karin 导出模块

字数
969 字
阅读时间
5 分钟

温馨提示

本文由AI辅助生成,可能存在不准确性。

警告

除了sqlite3以外,所有导出模块都是ESM格式。底层使用了vite+tsup对模块本身进行了重新打包,可能存在一定的兼容性问题。如果遇到问题,请在GitHub仓库开issues报告。

使用TypeScript开发时,目前lodashexpress需要单独安装类型包:

bash
pnpm add @types/lodash @types/express -D

根目录 (Root) API

通过 node-karin/rootnode-karin/dir 导出,提供了框架中常用的路径和状态信息。

typescript
import * as KarinRoot from 'node-karin/root'
// 或
import KarinRoot from 'node-karin/root'
// 或
import { karinPathRoot } from 'node-karin/root'

新的路径常量

Api变动

版本变动
1.8.0新增 karinPathKv kvPath,统一前缀 karinPath ,并废弃了旧的常量
常量名描述路径示例
karinPathRootnode-karin根目录的绝对路径/path/to/node_modules/node-karin
karinPathMainnode-karin主入口文件路径/path/to/node_modules/node-karin/dist/index.js
karinPathPlugins插件根目录${cwd}/plugins
isPackaged是否处于node_modules中true/false
karinPathDefaultConfig默认config目录npm/default/config
karinPathDefaultView默认view目录npm/default/view
karinPathComment注释目录npm/default/comment
karinPathBase配置根目录${cwd}/@karinjs
karinPathConfigconfig目录${cwd}/@karinjs/config
karinPathDatadata目录${cwd}/@karinjs/data
karinPathTemp临时文件存储${cwd}/@karinjs/temp
karinPathResourceresource目录${cwd}/@karinjs/resource
karinPathDbdb根目录${cwd}/@karinjs/data/db
karinPathTaskDb任务数据库目录${cwd}/@karinjs/data/db/task
karinPathRedisSqlite3伪redis sqlite3目录${cwd}/@karinjs/data/db/redis-sqlite3
karinPathKvkv数据库目录${cwd}/@karinjs/data/db/kv
karinPathLogslogs目录${cwd}/@karinjs/logs
karinPathHtmlhtml目录${cwd}/@karinjs/temp/html
karinPathPm2Configpm2配置路径${cwd}/@karinjs/config/pm2.yaml
karinPathConsoleconsole适配器目录${cwd}/@karinjs/temp/console
karinPathSandboxData沙盒数据目录${cwd}/@karinjs/data/sandbox
karinPathSandboxTemp沙盒临时数据目录${cwd}/@karinjs/temp/sandbox

已废弃的路径常量

以下常量已被标记为废弃,但为保持兼容性仍可使用:

废弃常量名对应的新常量名
karinDirkarinPathRoot
karinMainkarinPathMain
pluginDirkarinPathPlugins
isPkgisPackaged
defaultConfigPathkarinPathDefaultConfig
defaultViewPathkarinPathDefaultView
commentPathkarinPathComment
basePathkarinPathBase
configPathkarinPathConfig
dataPathkarinPathData
tempPathkarinPathTemp
resourcePathkarinPathResource
dbPathkarinPathDb
redisSqlite3PathkarinPathRedisSqlite3
kvPathkarinPathKv
logsPathkarinPathLogs
htmlPathkarinPathHtml
pm2PathkarinPathPm2Config
consolePathkarinPathConsole
sandboxDataPathkarinPathSandboxData
sandboxTempPathkarinPathSandboxTemp

导出的第三方模块

node-karin框架将多个常用的第三方模块重新打包并导出,方便开发者直接使用,无需额外安装这些依赖。

express

Web应用框架,用于构建API和Web应用。

typescript
import express from 'node-karin/express'
// 或
import { Router } from 'node-karin/express'

TypeScript类型

TypeScript开发中,需要单独安装类型声明包:npm install -D @types/express

详细文档请参考 express官方文档

lodash

实用工具库,提供函数式编程辅助函数。

typescript
import _ from 'node-karin/lodash'
// 或
import { merge } from 'node-karin/lodash'

TypeScript类型

TypeScript开发中,需要单独安装类型声明包:npm install -D @types/lodash

详细文档请参考 lodash官方文档

axios

基于Promise的HTTP客户端。

typescript
import axios from 'node-karin/axios'

详细文档请参考 axios官方文档

chalk

终端字符串样式库。

typescript
import chalk from 'node-karin/chalk'

详细文档请参考 chalk文档

chokidar

高性能文件监控库。

typescript
import chokidar from 'node-karin/chokidar'

详细文档请参考 chokidar文档

art-template

高性能JavaScript模板引擎。

typescript
import template from 'node-karin/art-template'
// 或
import template from 'node-karin/template'

详细文档请参考 art-template文档

moment

日期处理库。

typescript
import moment from 'node-karin/moment'

详细文档请参考 moment.js文档

node-schedule

定时任务调度库。

typescript
import schedule from 'node-karin/schedule'
// 或
import schedule from 'node-karin/node-schedule'

详细文档请参考 node-schedule文档

redis

Redis客户端库。

typescript
import redis from 'node-karin/redis'

详细文档请参考 redis文档

sqlite3

SQLite数据库客户端。

typescript
import sqlite3 from 'node-karin/sqlite3'

特别说明

不同于其他导出模块,sqlite3为CommonJS格式。

详细文档请参考 sqlite3文档

ws

WebSocket客户端和服务器实现。

typescript
import WebSocket from 'node-karin/ws'

详细文档请参考 ws文档

yaml

YAML解析和序列化库。

typescript
import yaml from 'node-karin/yaml'

详细文档请参考 yaml文档