1

我有一个可以npm start electron .在我的 Mac 上使用的电子应用程序。但是,当我使用 electron-packager 为 Mac 编译它时,打开编译的应用程序文件时出现以下错误

bootstrap.min.css Failed to load resource: net::ERR_FILE_NOT_FOUND
module.js:487 Uncaught Error: Cannot find module './node_modules/jquery/dist/jquery.min.js'
    at Module._resolveFilename (module.js:485:15)...
module.js:487 Uncaught Error: Cannot find module 'node-wifi'
    at Module._resolveFilename (module.js:485:15)

我相信这与设置正确的文件路径有关,但我在 index.js 和 functions.js 文件中尝试了以下操作,但没有成功:

var path = require('path');

module.paths.push(path.resolve('node_modules'));
module.paths.push(path.resolve('../node_modules'));

这些是下面的其他相关文件和命令:

包.json:

  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron ."
  },
  "devDependencies": {
    "electron": "^1.8.4",
    "electron-packager": "^12.0.0"
  },
  "dependencies": {
    "electron-packager": "^12.0.0",
    "bootstrap": "^4.0.0",
    "electron-reload": "^1.2.2",
    "electron-store": "^1.3.0",
    "jquery": "^3.3.1",
    "node-wifi": "^2.0.4",
    "sweetalert2": "^7.18.0"
  }

构建命令:

electron-packager . --overwrite --platform=darwin --arch=x64  --prune=true --out=release-builds

索引.html

<!DOCTYPE html>
  <html>
    <head>
      <meta charset="UTF-8">
      <title>Hello World!</title>
      <link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
      <script>window.$ = window.jQuery = require('jquery');</script>
      <script src="functions.js"></script>
      <script type='text/javascript'>
      // On click we should send event to close window.
    </script>
    </head>

index.js(依赖项)

const {app, BrowserWindow , ipcMain, dialog} = require('electron')
const path = require('path');
const url = require('url');

functions.js(依赖项)

const { ipcRenderer } = require("electron");
var child_process = require('child_process');
var wifi = require('node-wifi');
var swal = require('sweetalert2');
const Store = require('electron-store');
const store = new Store();
4

1 回答 1

0

它不喜欢--prune=truebuild 命令中的。我将其设置为 false 并且它似乎正在工作。

于 2018-04-05T01:30:03.637 回答