使用电子生成器后 EJS 不呈现

EJS not rendering after using electron builder

我正在尝试在我的 electron.js 应用程序中呈现 ejs 文件。我正在使用以下框架加载 ejs 文件:

const ejs = require('ejs')

ejs.renderFile('views/list.ejs', { data: listData }, { root: __dirname }, function (err, str) {
        if (err) {
            console.log(err);
        }
        mainWindow.loadURL('data:text/html;charset=utf-8,' + encodeURI(str));
});

现在这在开发环境中正常工作(即使用 electron . 命令),但是当我使用 electron-builder 和 运行 构建应用程序时,ejs 不呈现,只是打印未定义的空白页。

知道为什么会发生这种情况以及如何解决它吗?

为了后代:我想通了(ish)

由于某些原因,ejs.renderFile() 在使用 electron-builder 构建应用程序时需要绝对路径。

所以,你需要这样做: ${path.join(__dirname, ./${后果}.ejs)}

ejs.renderFile(`${path.join(__dirname, `views/list.ejs`)}`, { data: listData }, { root: __dirname }, 
    function (err, str) {
        if (err) {
            console.log(err);
        }
        mainWindow.loadURL('data:text/html;charset=utf-8,' + encodeURI(str));
    }
);

至于为什么会这样,我不知道(因为 __dirname 作为“根”选项参数包含在内...我猜这是一个错误。