Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 电子+角度=没有本地文件?_Javascript_Angular_Express_Electron - Fatal编程技术网

Javascript 电子+角度=没有本地文件?

Javascript 电子+角度=没有本地文件?,javascript,angular,express,electron,Javascript,Angular,Express,Electron,我的问题很难解释,但我会尽力- 尝试从应用程序目录播放mp3文件时,不允许加载本地资源 发生这种情况是因为我使用Webpack进行开发,而Express server用于生产运行我的应用程序。由于某些角度路由功能,Express被使用 这是我的electron-main.js的一部分- server.js let path = require('path'); let express = require('express'); let app = express(); app.use(expr

我的问题很难解释,但我会尽力- 尝试从应用程序目录播放mp3文件时,不允许加载本地资源

发生这种情况是因为我使用Webpack进行开发,而Express server用于生产运行我的应用程序。由于某些角度路由功能,Express被使用

这是我的electron-main.js的一部分-

server.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);
但是当我试图设置

win.loadURL(url.format({
    pathname: path.join(__dirname, 'index.html'),
    protocol: 'file:',
    slashes: true
  }));
我有mp3播放器

因此,我了解只有当协议为“file:”而非http: 应用程序结构应类似-

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

有解决办法吗?也许我可以使用Express来获取我的文件?

我找到的唯一解决方法是使用类似的file:protocol创建额外的隐藏窗口

hiddenWindow = new BrowserWindow({
  show: false
});

hiddenWindow.loadURL(url.format({
  pathname: path.join(__dirname, 'hidden.html'),
  protocol: 'file:',
  slashes: true
}));
使用IPC渲染器和ipcMain初始化它的函数

hiddenWindow = new BrowserWindow({
  show: false
});

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