Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

215
Vistas
Electron + Angular = ¿no hay archivos locales?

Mi problema es difícil de explicar, pero lo intentaré: tengo un error de electrones. Not allowed to load local resource cuando intento reproducir un archivo mp3 desde el directorio de la aplicación.

Eso sucede porque estoy usando Webpack para desarrollo y servidor Express para producción para ejecutar mis aplicaciones (Express se usa debido a algunas funciones de enrutamiento angular).

Esto es parte de mi electron-main.js -

 function createWindow() { win = new BrowserWindow({ width: 1500, height: 900, resizable: true, center: true, autoHideMenuBar: true, icon: path.join(__dirname, 'static', 'note.ico') }); if (DEBUG) { // Loading from Webpack win.loadURL(`http://localhost:4200`); win.webContents.openDevTools(); } else { // Loading from Express-server const server = require("../server"); win.loadURL(`http://localhost:3333`); }

servidor.js

 let path = require('path'); let express = require('express'); let app = express(); app.use(express.static(path.join(__dirname, 'dist'))); app.get('/', function (req, res) { res.sendFile(path.join(__dirname, 'dist', 'index.html')); }); app.listen(3333);

Pero cuando traté de establecer

 win.loadURL(url.format({ pathname: path.join(__dirname, 'index.html'), protocol: 'file:', slashes: true }));

Tengo mi reproducción de mp3 .

Entonces entiendo que solo se puede acceder a los archivos locales cuando protocol: 'file:' , no http: la estructura de la aplicación debe ser similar -

 (root folder) --app.exe (whatever) --mp3 --1.mp3 --2.mp3 --3.mp3 ...

¿Hay una solución? ¿Tal vez pueda usar Express para obtener mis archivos?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La única solución que he encontrado es crear una ventana oculta adicional usando file: protocolo como este

 hiddenWindow = new BrowserWindow({ show: false }); hiddenWindow.loadURL(url.format({ pathname: path.join(__dirname, 'hidden.html'), protocol: 'file:', slashes: true }));

e inicie sus funciones usando ipcRenderer e ipcMain .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda