当主入口点移动到子文件夹时,Sails (1.2.3) 给出纯文本 'Not found' (404),我该如何修复?

Sails (1.2.3) gives plaintext 'Not found' (404) when main entry point is moved to a subfolder, how do I fix?

我的 sails.js 项目也是一个 electron.js 项目,为了打包,我需要将我的主入口点移动到一个子文件夹(谢谢,electron-packager)...但是这里是会发生什么。

在将入口点移动到子文件夹之前,我的应用程序可以在所有启动方法下运行,即:

使用子文件夹中的主入口点启动会得到以下结果:

"Misbehaves" = 404明文"Not Found"

当我说 "misbehaves" -- 我不确定问题的严重程度。 Sails 升起,它抱怨找不到它的会话秘密,当我在浏览器中加载该页面时,我收到 404 和明文 "Not found" 消息。我怀疑引擎已启动,但尚未找到其应用程序文件。

故障排除建议或解决方案将不胜感激。

请注意,我确实更新了 package.json 的 "main" 属性。

这是我的package.json

我找到了解决方法。

  1. 将 "real" 主入口脚本移动到项目的顶级文件夹(与 package.json 相同的文件夹)。
  2. 创建一个新脚本并将其放入子文件夹中,例如app/launcher.js。它只需要包含一行:require('../app.js');(假设您的 "real" 主入口脚本是 app.js)。
  3. 更新 package.jsonmain 节点以指向 app/launcher.js

我也将此作为错误报告给 sails.js,但他们将其重新标记为问题。 :-/