Проблема с электронной кузницейJavascript

Форум по Javascript
Ответить
Anonymous
 Проблема с электронной кузницей

Сообщение Anonymous »

Я создаю электронное приложение с помощью Preact + Typescript с помощью инструмента Vite.
Ниже приведена моя конфигурация Vite

Код: Выделить всё

import { resolve } from 'path'
import obfuscatorPlugin from "vite-plugin-javascript-obfuscator";
import preact from '@preact/preset-vite'
import packageJson from './package.json'
import dotenv from 'dotenv'
dotenv.config();

// https://vitejs.dev/config/
export default defineConfig(() => {
const isProd = process.env.VITE_APP_ENV === 'production'
console.log("Environment loaded:", process.env.VITE_APP_ENV)

return {
base: './',
plugins: [
preact(),
isProd && obfuscatorPlugin({
options: {
compact: true,
deadCodeInjection: true,
deadCodeInjectionThreshold: 0.5,
debugProtection: true,
debugProtectionInterval: 5000,
disableConsoleOutput: true,
}
})
].filter(Boolean),
resolve: {
dedupe: ['preact'],
alias: {
'@': resolve(__dirname, './src'),
'react': 'preact/compat',
'react-dom': 'preact/compat',
'react-dom/test-utils': 'preact/test-utils',
'react/jsx-runtime': 'preact/jsx-runtime',
},
},
build:{sourcemap:!isProd},
define: {
__APP_VERSION__: JSON.stringify(packageJson.version),
}
}
})
ниже приведена моя конфигурация forge

Код: Выделить всё

import { VitePlugin } from '@electron-forge/plugin-vite';
import type { ForgeConfig } from '@electron-forge/shared-types';
import { MakerSquirrel } from '@electron-forge/maker-squirrel';
import { MakerDMG } from '@electron-forge/maker-dmg';
import { FusesPlugin } from '@electron-forge/plugin-fuses';
import { FuseV1Options, FuseVersion } from '@electron/fuses';
import dotenv from 'dotenv'
dotenv.config();

const config: ForgeConfig = {
packagerConfig: {
asar: true,
appCopyright: "Copyright © 2025 MyApp",
appCategoryType: "public.app-category.finance",
name: "MyApp",
icon: './src/assets/icon.ico',
appVersion: '${version}',
overwrite: true,
osxUniversal: {
x64ArchFiles: '**/*',
},
osxSign: {
optionsForFile: () => {
return { entitlements: "./entitlements.mac.plist"  }
}
},
osxNotarize: {
appleId: process.env.APPLE_ID || '',
appleIdPassword: process.env.APPLE_APP_PASSWORD || '',
teamId: process.env.APPLE_TEAM_ID || ''
}
},
rebuildConfig: {},
makers: [
new MakerSquirrel({
authors: '${author}',
setupMsi: 'MyApp-${version}',
}),
new MakerDMG({
format: 'ULFO',
name: '${name}-${version}',
icon: './src/assets/icon.ico',
overwrite: true,
contents: [
{
x: 410,
y: 220,
type: 'link' as const,
path: '/Applications',
},
],
iconSize: 128,
}),
],
plugins: [
new VitePlugin({
build: [
{
entry: 'electron/main.ts',
config: 'vite.config.ts',
},
{
entry: 'electron/preload.ts',
config: 'vite.config.ts',
},
],
renderer: [
{
name: 'app',
config: 'vite.config.ts',
},
],
}),
new FusesPlugin({
version: FuseVersion.V1,
[FuseV1Options.RunAsNode]: false,
[FuseV1Options.EnableCookieEncryption]: true,
[FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false,
[FuseV1Options.EnableNodeCliInspectArguments]: false,
[FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true,
[FuseV1Options.OnlyLoadAppFromAsar]: true,
}),
],
outDir: "release",
};

export default config;
Я столкнулся с двумя проблемами.
1.Когда я служу с помощью запуска электронной кузницы. Сервер запускается, но
в моем файле main.ts.
MAIN_WINDOW_VITE_DEV_SERVER_URL
не определен. поэтому возникает ошибка ReferenceError: MAIN_WINDOW_VITE_DEV_SERVER_URL не определен.
  • При создании сборки для Macos универсальный файл DMG. файл создается (вместе с другими папками) в выходном каталоге выпуска, но его размер составляет всего 58 КБ.. что-то не так с конфигурацией?


Подробнее здесь: https://stackoverflow.com/questions/797 ... tron-forge
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»