跳到主要内容

开发过程

创建 luwak_sys.db

  • 创建数据库
  • 启动 luwak,自动生成空 luwak_sys.db
  • 使用 Console 初始化 Entity 定义,GET http://localhost:23000/entity/generate, 并设置好逻辑名字

导出到本地文件, Debug, Test

  • toolkit export luwak_sys.db src 自动创建空的 entity 目录
  • 零代码的创建一个空目录
  • 低代码创建脚本类型目录,并写脚本文件,优先级_脚本名.js 10_get_my_order_list.js
  • Debug
  • Test

导入本地文件到 luwak_sys.db

  • toolkit import src luwak_sys.db

在测试环境重新执行导入

在生产环境重新执行导入

开发环境配置

package.json

{
"scripts": {
"test": "jest"
},
"devDependencies": {
"@eslint/js": "^9.17.0",
"eslint": "^9.17.0",
"eslint-config-prettier": "^9.1.0",
"globals": "^15.14.0",
"jest": "^29.7.0",
"prettier": "3.4.2"
},
"dependencies": {
"axios": "^1.7.9",
"crypto-js": "^4.2.0",
"uuid": "^11.0.4"
}
}

jest.config.js

/**
* For a detailed explanation regarding each configuration property, visit:
* https://jestjs.io/docs/configuration
*/

/** @type {import('jest').Config} */
const config = {

clearMocks: true,

coverageProvider: "v8",

moduleNameMapper: {
'^@/(.*)$': '<rootDir>/$1',
},
};

module.exports = config;

eslint.config.mjs

import globals from "globals";
import pluginJs from "@eslint/js";
import eslintConfigPrettier from "eslint-config-prettier";

/** @type {import('eslint').Linter.Config[]} */
export default [
{
files: ["**/*.js"],
languageOptions: { sourceType: "commonjs" }
},
{
languageOptions: {
globals: {
...globals.browser,
...globals.commonjs,
...globals.jest,
luwak: false,
}
}
},
pluginJs.configs.recommended,
eslintConfigPrettier,
{
"rules": {
"max-lines": ["error", { "max": 50, "skipBlankLines": true, "skipComments": true }]
}
}
];

手动安装,仅供参考

安装 Jest

npm install --save-dev jest

添加如下内容到 package.json

{
"scripts": {
"test": "jest"
}
}

参考

安装 Prettier

npm install --save-dev --save-exact prettier

创建 .prettierrc

node --eval "fs.writeFileSync('.prettierrc','{}\n')"

创建 .prettierignore

node --eval "fs.writeFileSync('.prettierignore','# Ignore artifacts:\nbuild\ncoverage\n')"

参考

安装 ESLint

npm init @eslint/config@latest

选择 CommonJS (require/exports)

创建配置文件

npm init jest@latest

参考

eslint-config-prettier

npm install --save-dev eslint-config-prettier

修改 eslint.config.mjs

import someConfig from "some-other-config-you-use";
import eslintConfigPrettier from "eslint-config-prettier";

export default [
someConfig,
eslintConfigPrettier,
];

安装依赖

npm install axios crypto-js uuid