快速开始
初始化
国内镜像,已安装可忽视
npm config set registry https://registry.npmmirror.com
文档统一采用yarn依赖工具
npm install yarn@1.19.1 -g
yarn install
- 快速开始
- 重新开始
创建模版
npm create alemonjs
cd alemonb
配置环境
./tsconfig.json
{
"include": ["src/**/*"],
"extends": "lvyjs/tsconfig.json"
}
安装框架
添加
yarn add alemonjs@latest -W
创建文件
lvy.config.ts
import { defineConfig } from 'lvyjs'
import { fileURLToPath } from 'url'
import { dirname, join } from 'path'
// add alemonjs
import { onStart as useAlemonJS } from 'alemonjs'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
export default defineConfig({
plugins: [
{
name: 'alemonjs',
// use alemonjs
useApp: () => process.argv.include('--alemonjs') && useAlemonJS('src/index.ts')
}
]
})
./src/index.ts
import { defineChildren } from 'alemonjs'
export default defineChildren(() => {
return {
onCreated() {
console.log('onCreated')
}
}
})
平台
yarn add @alemonjs/kook
登录平台,需要增加对应平台的关联包
开发模式启动
npx lvy dev --alemonjs --login "kook" --token "xxxx"
--alemonjs 选择运行的框架
--login 选择kook平台
--token 即KOOK登录需要的 token
--input 默认./src/index.ts
配置
lemon.config.yaml
kook:
token: 'xxxx'
master_id:
- '123456'
- '654321'
编译
npx lvys build
输出目录 lib
PM2
安装
yarn add pm2 -D
alemon.config.yaml
pm2:
name: 'kook'
# 生产模式,入口可选择只向打包生产后的文件
script: 'alemonjs start --input ./lib/index.js --login kook'
配置
pm2.config.cjs
pm2.config.cjs
const fs = require('fs')
const yaml = require('yaml')
const data = fs.readFileSync('./alemon.config.yaml', 'utf8')
const config = yaml.parse(data)
const app = config?.pm2 ?? {}
/**
* @type {{ apps: import("pm2").StartOptions[] }}
*/
module.exports = {
apps: [
{
...app,
env: {
// 确保是生产环境
NODE_ENV: 'production',
...(app?.env ?? {})
}
}
]
}
启动
# start
npx pm2 startOrRestart pm2.config.cjs
# stop
npx pm2 stop pm2.config.cjs
# delete
npx pm2 delete pm2.config.cjs
# kill
npx pm2 kill
# logs
npx pm2 logs