Почему в electron-builder ссылки на svg имеют не верный путь?

Ссылка скопирована
1 ответ

это ссылка при electron:serve
background-image: url(localhost:8080/img/arabian.29710604.svg);

ссылка в electron:build
background-image: url(df-installer-beta/img/arabian.29710604.svg);

а должна быть
background-image: url(df-installer-beta://./img/arabian.29710604.svg);

const express = require('express'); const {resolve} = require('path');  const chanel = process.env.VUE_APP_BUILD_CHANEL;  const appName = `name-installer-${chanel}`;  const oneClick = false; const nsisOptions = {     oneClick,     perMachine: !oneClick,     allowToChangeInstallationDirectory: true,     preCompressedFileExtensions: [],     deleteAppDataOnUninstall: true,     displayLanguageSelector: true,     installerLanguages: ['en', 'ru'],     warningsAsErrors: false, };  let styles = ` @import "~@/styles/base.scss"; @import "~@/styles/transitions.scss"; @import "~@/styles/buttons.scss"; `;  module.exports = {     css: {         loaderOptions: {             scss: {                 additionalData: styles,             },         },     },     configureWebpack: {         devServer: {             onBeforeSetupMiddleware: (devServer) => {                 if (process.env.NODE_ENV !== 'production') {                     devServer.app.use(                         '/extraResources/',                         express.static(                             resolve(__dirname, 'src', 'extraResources'),                         ),                     );                 }             },         },     },     pluginOptions: {         electronBuilder: {             outputDir: `dist_${chanel}`,             customFileProtocol: `${appName}://./`,             preload: `src/preload.ts`,             nodeIntegration: false,             builderOptions: {                 appId: 'com.name.installer',                 productName: `Name Installer`,                 protocols: {                     name: appName,                     role: 'Viewer',                     schemes: [appName],                 },                 win: {                     icon: 'public/icon.ico',                     target: [                         {                             target: 'portable',                             arch: ['x64'],                         },                     ],                     publisherName: 'Name FZ-LLC',                 },                 nsis: nsisOptions,                 nsisWeb: nsisOptions,             },         },     }, };

const express = require('express'); const {resolve} = require('path'); const chanel = process.env.VUE_APP_BUILD_CHANEL; const appName = `name-installer-${chanel}`; const oneClick = false; const nsisOptions = { oneClick, perMachine: !oneClick, allowToChangeInstallationDirectory: true, preCompressedFileExtensions: [], deleteAppDataOnUninstall: true, displayLanguageSelector: true, installerLanguages: ['en', 'ru'], warningsAsErrors: false, }; let styles = ` @import "~@/styles/base.scss"; @import "~@/styles/transitions.scss"; @import "~@/styles/buttons.scss"; `; module.exports = { css: { loaderOptions: { scss: { additionalData: styles, }, }, }, configureWebpack: { devServer: { onBeforeSetupMiddleware: (devServer) => { if (process.env.NODE_ENV !== 'production') { devServer.app.use( '/extraResources/', express.static( resolve(__dirname, 'src', 'extraResources'), ), ); } }, }, }, pluginOptions: { electronBuilder: { outputDir: `dist_${chanel}`, customFileProtocol: `${appName}://./`, preload: `src/preload.ts`, nodeIntegration: false, builderOptions: { appId: 'com.name.installer', productName: `Name Installer`, protocols: { name: appName, role: 'Viewer', schemes: [appName], }, win: { icon: 'public/icon.ico', target: [ { target: 'portable', arch: ['x64'], }, ], publisherName: 'Name FZ-LLC', }, nsis: nsisOptions, nsisWeb: nsisOptions, }, }, }, };

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ирина WP Ответ

Проблема с неправильным путем к ссылкам на SVG файлы в electron-builder может возникать из-за различных причин. Вот несколько возможных решений, которые могут помочь вам исправить эту проблему:

1. Убедитесь, что путь к вашим SVG файлам указан правильно в вашем проекте. Проверьте, что путь указан относительно корневой папки проекта, чтобы electron-builder мог правильно найти файлы при построении приложения.

2. Проверьте, что ваши SVG файлы находятся в правильном месте внутри вашего проекта. Убедитесь, что они не перемещаются или удаляются во время сборки приложения.

3. Попробуйте использовать абсолютный путь к вашим SVG файлам вместо относительного пути. Это может помочь избежать проблем с разрешением путей при сборке проекта.

4. Убедитесь, что вы правильно настроили конфигурацию electron-builder для включения SVG файлов в ваше приложение. Проверьте, что вы правильно указали пути к вашим файлам в файле конфигурации.

Пример кода для использования SVG файлов в electron-builder:

"files": [
   {
       "from": "path/to/your/svg/files",
       "to": "path/in/app"
   }
]

"files": [ { "from": "path/to/your/svg/files", "to": "path/in/app" } ]

Следуя этим рекомендациям, вы сможете исправить проблему с неправильным путем к ссылкам на SVG файлы в electron-builder и успешно собрать ваше приложение.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно