diff --git a/bun.lockb b/bun.lockb index 4288996..9f44d64 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 73ab3df..7f660cf 100644 --- a/package.json +++ b/package.json @@ -8,14 +8,16 @@ "migrate:make": "npx knex migrate:make ", "migrate": "npx knex migrate:latest", "seed:make": "npx knex seed:make ", - "seed": "npx knex seed:run " + "seed": "npx knex seed:run ", + "build": "vite build" }, "devDependencies": { "@types/bun": "latest", "@types/node": "^24.0.1", - "knex": "^3.1.0" + "vite": "^6.3.5" }, "dependencies": { + "knex": "^3.1.0", "koa": "^3.0.0", "log4js": "^6.9.1", "module-alias": "^2.2.3", diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..8663691 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,41 @@ +import { dirname, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' +import { defineConfig } from 'vite' +import pkg from "./package.json" + +const __dirname = dirname(fileURLToPath(import.meta.url)) + +function getExternal(): string[] { + return [ + ...Object.keys(pkg.dependencies || {}), + "os", + "module", + "path", + ] +} +console.log(getExternal()); + +export default defineConfig({ + build: { + lib: { + entry: resolve(__dirname, 'src/main.js'), + formats: ['es'], + fileName: () => `[name].js`, + }, + outDir: resolve(__dirname, 'dist'), + rollupOptions: { + // 确保外部化处理那些 + // 你不想打包进库的依赖 + external: getExternal(), + watch: { + include: 'src/**', + exclude: 'node_modules/**', + }, + output: { + preserveModules: true, + preserveModulesRoot: 'src', + inlineDynamicImports: false, + }, + }, + }, +}) \ No newline at end of file