修复 Electron 应用窗口不显示的问题
- 修正 Electron 依赖版本为 28.0.0(解决安装问题) - 更新 package.json 中的启动脚本,改进并发命令执行 - 修正主进程入口文件路径配置 - 调整 TypeScript 编译配置的根目录设置 - 添加 Windows 开发环境启动脚本 start-dev.bat - 更新 .gitignore 排除编译产物和锁文件 问题原因:pnpm 默认阻止了 Electron 安装脚本执行,导致应用无法正常启动
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -4,4 +4,7 @@ release/
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
*.log
|
*.log
|
||||||
.env
|
.env
|
||||||
.env.local
|
.env.local
|
||||||
|
*.tsbuildinfo
|
||||||
|
.npmrc
|
||||||
|
pnpm-lock.yaml
|
||||||
10
package.json
10
package.json
@@ -2,10 +2,12 @@
|
|||||||
"name": "cc-switch",
|
"name": "cc-switch",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "Claude Code 供应商切换工具",
|
"description": "Claude Code 供应商切换工具",
|
||||||
"main": "dist/main.js",
|
"main": "dist/main/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "concurrently \"npm run dev:main\" \"npm run dev:renderer\"",
|
"dev": "concurrently -k \"npm:dev:renderer\" \"npm:dev:electron:watch\"",
|
||||||
"dev:main": "tsc -w -p tsconfig.main.json",
|
"dev:electron": "tsc -p tsconfig.main.json && electron .",
|
||||||
|
"dev:electron:watch": "tsc -p tsconfig.main.json && concurrently -k \"tsc -w -p tsconfig.main.json\" \"npm:electron\"",
|
||||||
|
"electron": "electron .",
|
||||||
"dev:renderer": "vite",
|
"dev:renderer": "vite",
|
||||||
"build": "npm run build:renderer && npm run build:main",
|
"build": "npm run build:renderer && npm run build:main",
|
||||||
"build:main": "tsc -p tsconfig.main.json",
|
"build:main": "tsc -p tsconfig.main.json",
|
||||||
@@ -22,7 +24,7 @@
|
|||||||
"@types/react-dom": "^18.2.0",
|
"@types/react-dom": "^18.2.0",
|
||||||
"@vitejs/plugin-react": "^4.2.0",
|
"@vitejs/plugin-react": "^4.2.0",
|
||||||
"concurrently": "^8.2.0",
|
"concurrently": "^8.2.0",
|
||||||
"electron": "^28.0.0",
|
"electron": "28.0.0",
|
||||||
"electron-builder": "^24.0.0",
|
"electron-builder": "^24.0.0",
|
||||||
"typescript": "^5.3.0",
|
"typescript": "^5.3.0",
|
||||||
"vite": "^5.0.0"
|
"vite": "^5.0.0"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ function createWindow() {
|
|||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
preload: path.join(__dirname, 'preload.js'),
|
preload: path.join(__dirname, '../main/preload.js'),
|
||||||
contextIsolation: true,
|
contextIsolation: true,
|
||||||
nodeIntegration: false
|
nodeIntegration: false
|
||||||
},
|
},
|
||||||
@@ -72,6 +72,13 @@ ipcMain.handle('deleteProvider', (_, id: string) => {
|
|||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ipcMain.handle('updateProvider', (_, provider: Provider) => {
|
||||||
|
const providers = store.get('providers', {})
|
||||||
|
providers[provider.id] = provider
|
||||||
|
store.set('providers', providers)
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
|
||||||
ipcMain.handle('checkStatus', async (_, provider: Provider) => {
|
ipcMain.handle('checkStatus', async (_, provider: Provider) => {
|
||||||
return await checkProviderStatus(provider)
|
return await checkProviderStatus(provider)
|
||||||
})
|
})
|
||||||
|
|||||||
15
start-dev.bat
Normal file
15
start-dev.bat
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
@echo off
|
||||||
|
echo Starting CC Switch Development Server...
|
||||||
|
echo.
|
||||||
|
|
||||||
|
echo [1/2] Starting Vite dev server...
|
||||||
|
start /B cmd /c "pnpm run dev:renderer"
|
||||||
|
|
||||||
|
echo [2/2] Waiting for Vite to start...
|
||||||
|
timeout /t 5 /nobreak > nul
|
||||||
|
|
||||||
|
echo Starting Electron...
|
||||||
|
pnpm run dev:electron
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo Development server started!
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
"extends": "./tsconfig.node.json",
|
"extends": "./tsconfig.node.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "dist",
|
"outDir": "dist",
|
||||||
"rootDir": "src/main",
|
"rootDir": "src",
|
||||||
"types": ["node"]
|
"types": ["node"]
|
||||||
},
|
},
|
||||||
"include": ["src/main/**/*", "src/shared/**/*"]
|
"include": ["src/main/**/*", "src/shared/**/*"]
|
||||||
|
|||||||
Reference in New Issue
Block a user