在运行时工作,但在构建时不工作

时间:2018-02-04 14:22:15

标签: node.js macos electron

我在macOS上。我正在创建一个简单的电子应用程序当我使用electron .运行应用程序时,一切都运行良好,没有错误。现在我的应用程序已经完成,我想构建并分发它。所以我设置electron-builder,我就可以正常工作了。但是,当我在构建文件夹中运行MyApp.app时,我收到错误消息:

Uncaught Error: ENOENT: no such file or directory, scandir './img/'

我在这里打电话给scandir

  const fs = require('fs');
  var files = [];
  fs.readdirSync("./img/").forEach(file => {
    files.push(file);
  })

当我使用node运行它时,为什么它可以工作,但是在构建中不起作用?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

当我使用node运行它时,为什么这个工作正常,但是不能正常工作   建立?我该如何解决这个问题?

如果没有关于整个应用程序结构的更多信息,很难说,它可能取决于您的代码实际上是如何从html文件调用或要求的。

无论如何,使用__dirname全局变量来构建目录路径通常可以解决这类问题。请尝试:

const fs = require('fs');
const path = require('path');

var files = [];
fs.readdirSync(path.join(__dirname, 'img')).forEach(file => {
    files.push(file);
});