开发过程
创建 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,
];
- https://prettier.io/docs/en/integrating-with-linters
- https://github.com/prettier/eslint-config-prettier
安装依赖
npm install axios crypto-js uuid