Я пытаюсь обработать другой файл html
, чтобы браузер мог получить к нему доступ из electronjs
. это каталог файлов:
app folder:
- index.js // this is the init file for electron.
- index.html // main interface.
- ip.js // <-- included in index.html, codes for serving the static html to browser.
- package.json
-- node_modules
-- pad: // <-- this is the root folder I want to access via browser
- index.html // <-- browser will get to see this page.
- pad_index.js
index.js
будет иметь базовые данные c electron js
. 'index. html' импортирует и запускает ip.js
, которые содержат коды для обслуживания ./pad/index.html
в браузере.
ip.js:
var os = require("os");
const http = require("http");
var path = require("path");
var url = require("url");
var fs = require("fs");
const port = 3000;
var staticBasePath = "./pad/";
var staticServe = function(req, res) {
var resolvedBase = path.resolve(staticBasePath);
var safeSuffix = path.normalize(req.url).replace(/^(\.\.[\/\\])+/, "");
var fileLoc = path.join(resolvedBase, safeSuffix);
var stream = fs.createReadStream(fileLoc);
stream.on("error", function(error) {
res.writeHead(404, "Not Found");
res.write("404: File Not Found!");
res.end();
});
res.statusCode = 200;
stream.pipe(res);
};
var httpServer = http.createServer(staticServe);
httpServer.listen(port, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
Когда я проверяю его с помощью electron .
, все работает. Я могу go в браузер и набрать http://localhost:3000/index.html
, и он покажет содержимое ./pad/index.html
.
, но после того, как я использую electron builder
, чтобы создать приложение, затем запустить построенное приложение, я получаю 404: file not found!
в браузере. Я уверен, что упустил что-то очень важное, но не уверен, что.
Как мне решить эту проблему?