This commit is contained in:
li1553770945 2025-06-13 21:22:49 +08:00
parent dfb70785e0
commit bd23bfe17c
2 changed files with 23 additions and 16 deletions

View File

@ -19,6 +19,7 @@
"Other" "Other"
], ],
"activationEvents": [], "activationEvents": [],
"type":"module",
"main": "./dist/extension.js", "main": "./dist/extension.js",
"icon": "icons/openmcp.png", "icon": "icons/openmcp.png",
"contributes": { "contributes": {

View File

@ -1,11 +1,16 @@
import { defineConfig, normalizePath } from 'vite'; import { defineConfig, normalizePath } from 'vite';
import { resolve } from 'path'; import { fileURLToPath } from 'url';
import { dirname, resolve } from 'path';
import { viteStaticCopy } from 'vite-plugin-static-copy'; import { viteStaticCopy } from 'vite-plugin-static-copy';
// 适配 ESM 的 __filename 和 __dirname
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
// 统一定义根目录,确保路径一致性 // 统一定义根目录,确保路径一致性
const rootDir = resolve(__dirname, '..'); const rootDir = resolve(__dirname, '..'); // 根目录(与当前文件同级的上级目录)
const srcDir = resolve(rootDir, 'renderer/src'); const srcDir = resolve(rootDir, 'renderer/src'); // 源代码目录
const outDir = resolve(rootDir, 'openmcp-sdk'); const outDir = resolve(rootDir, 'openmcp-sdk'); // 构建输出目录
export default defineConfig({ export default defineConfig({
define: { define: {
@ -26,24 +31,24 @@ export default defineConfig({
viteStaticCopy({ viteStaticCopy({
targets: [ targets: [
{ {
// 使用统一路径处理逻辑 // 使用统一路径处理逻辑POSIX 风格)
src: normalizePath(resolve(rootDir, 'resources/openmcp-sdk-release/*')), src: normalizePath(resolve(rootDir, 'resources/openmcp-sdk-release/*')),
dest: normalizePath(outDir) dest: normalizePath(outDir) // 目标路径保持 POSIX 风格
} }
] ]
}) })
], ],
build: { build: {
target: 'node18', target: 'node18', // Node.js 18 的目标环境
lib: { lib: {
// 使用统一路径变量 // 使用统一路径变量ESM 兼容格式)
entry: resolve(srcDir, 'components/main-panel/chat/core/task-loop.ts'), entry: resolve(srcDir, 'components/main-panel/chat/core/task-loop.ts'),
name: 'TaskLoop', name: 'TaskLoop', // 库名称
fileName: 'task-loop', fileName: 'task-loop', // 输出文件名
formats: ['es'] // 改为 ESM 格式 [[7]] formats: ['es'] // 改为 ESM 格式 [[7]]
}, },
outDir, // 使用统一输出目录 outDir, // 使用统一输出目录
emptyOutDir: false, emptyOutDir: false, // 不清空输出目录
rollupOptions: { rollupOptions: {
external: [ external: [
'vue', 'vue',
@ -56,16 +61,17 @@ export default defineConfig({
chalk: 'chalk', chalk: 'chalk',
'element-plus': './tools.js' // 使用 POSIX 风格路径 [[10]] 'element-plus': './tools.js' // 使用 POSIX 风格路径 [[10]]
}, },
esModule: true esModule: true // 强制输出 ESM 格式
} }
}, },
minify: false, minify: false, // 不压缩代码
sourcemap: false sourcemap: false // 不生成 source map
}, },
resolve: { resolve: {
alias: { alias: {
// 使用统一路径变量 // 使用统一路径变量ESM 兼容别名)
'@': srcDir '@': srcDir
} },
extensions: ['.ts', '.js', '.mjs'] // 支持 .mjs 扩展名
} }
}); });