электрон js - порция html - PullRequest
       0

электрон js - порция html

0 голосов
/ 20 марта 2020

Я пытаюсь обработать другой файл 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! в браузере. Я уверен, что упустил что-то очень важное, но не уверен, что.

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 20 марта 2020

В соответствии с конфигурацией электронного компоновщика вы должны изменить раздел directories, чтобы разрешить упаковку ваших файлов вместе с приложением.

Посмотрите в разделе directions: https://www.electron.build/configuration/configuration#configuration

Этот ответ может быть полезен Электронный индекс. html не загружается после сборки приложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...