【问题标题】:how to use electron-builder or any other pakage to make exe distributable bundle with laravel如何使用 electron-builder 或任何其他包与 laravel 制作 exe 可再发行包
【发布时间】:2022-09-23 07:48:58
【问题描述】:

我有一个在电子内部运行的 laravel 项目 我在文件夹结构下面给出了 我的 larvel 项目在 www 里面

当我使用我的 laravel 项目 npm 启动我的电子项目统计信息时,现在我想制作该项目的可分发 exe 文件

我正在尝试使用电子生成器,但我没有找到任何将 laravel 与电子一起使用的文档,有人可以帮助解决这个问题吗

我在这里添加 main.js 文件代码,以便您可以参考

main.js

const electron = require(\"electron\");
const path = require(\"path\");

const BrowserWindow = electron.BrowserWindow;
const app = electron.app;

app.on(\"ready\", () => {
  createWindow();
});

var phpServer = require(\"node-php-server\");
const port = 8000,
  host = \"127.0.0.1\";
const serverUrl = `http://${host}:${port}`;

let mainWindow;

function createWindow() {

  console.log(`${__dirname}`),
    phpServer.createServer({
      port: port,
      hostname: host,
      base: `${__dirname}/www/public`,
      keepalive: false,
      open: false,
      bin: `${__dirname}/php/php.exe`,
      router: __dirname + \"/www/server.php\",
    });

  const { width, height } = electron.screen.getPrimaryDisplay().workAreaSize;
  mainWindow = new BrowserWindow({
    width: width,
    height: height,
    show: false,
    autoHideMenuBar: false,
  });

  mainWindow.loadURL(serverUrl);

  mainWindow.webContents.once(\"dom-ready\", function () {
    mainWindow.show();
    mainWindow.maximize();

  });

  mainWindow.on(\"closed\", function () {
    phpServer.close();
    mainWindow = null;
  });
}


app.on(\"window-all-closed\", function () {
  if (process.platform !== \"darwin\") {
 
    phpServer.close();
    app.quit();
  }
});

app.on(\"activate\", function () {
  if (mainWindow === null) {
    createWindow();
  }
});

同样在这里我添加 package.json 文件代码也供参考

包.json

{
  \"name\": \"laravelprocject\",
  \"version\": \"1.0.0\",
  \"description\": \"\",
  \"main\": \"main.js\",
  \"scripts\": {
    \"start\": \"electron .\",
    \"php\": \"/usr/bin/php\",
    \"laravel:serve\": \"php artisan serve\"
  },
  \"keywords\": [],
  \"author\": \"\",
  \"license\": \"ISC\",
  \"devDependencies\": {
    \"electron\": \"^20.1.0\",
    \"electron-packager\": \"^16.0.0\"
  },
  \"dependencies\": {
    \"node-php-server\": \"^0.1.2\"
  }
}

    标签: php laravel electron desktop-application electron-builder


    【解决方案1】:

    我不认为这真的是 Electron 的目的。就内存占用和使用的磁盘空间而言,Electron 本身已经相当大了。如果您想在此之上包含一个 PHP 服务器,则必须包含其他依赖项。

    【讨论】:

      猜你喜欢
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 2023-04-02
      • 2021-06-01
      • 1970-01-01
      相关资源
      最近更新 更多