Error: Failed to lookup view "home" in views directory

Error: Failed to lookup view "home" in views directory

我用 electron 和 expressjs 开发了一个小应用程序。在开发模式下,该应用程序运行良好。但是在为生产模式打包应用程序后,我得到了找不到主视图的错误。以下是一些细节: app.js

中的主要路线
router.get('/', async (req,res) => {
    res.render('home');
});

我的文件结构是:

为了解决问题,我尝试了以下方法:

 router.get('/', async (req,res) => {
    var path = require('path');
    res.render(path.join(__dirname+'/views/home.ejs'));
});

现在视图已加载,但 home.ejs 内的所有 css 和 js 文件都未加载

所有 css 和 js 文件都位于 public 文件夹下和 home.ejs 内,我将这些文件引用如下:

<script src="/js/vendor/jquery-3.6.0.min.js"></script>
<script src="/js/vendor/bootstrap.bundle.min.js"></script>
<script src="/js/home.js"></script>

我尝试了 electron packagers,electron-forge 和 electron-builder,都出现了同样的错误。你能帮忙吗??

您需要在应用中的某处使用 express.static(...) 语句来提供 css 和 js 文件。那看起来怎么样?以下应该有效:

app.use("/js", express.static(__dirname + "/public/js"));
app.use("/css", express.static(__dirname + "/public/css"));