node.js - 如何使用 Node EJS 将我的 Web 应用程序转换为具有相同功能的桌面应用程序

标签 node.js electron ejs desktop-application electron-packager

我已经使用 EJS/jQuery/Bootstrap 和 Node js REST API 构建了 Web 应用程序。
是否可以为 Windows 操作系统创建可执行文件/安装程序?

如果没有任何 3rd-party 软件,它应该看起来像原生应用程序,但是 HTML 和 EJS 模板引擎。

有任何想法吗?

我可能需要在 html View 中支持 EJS,但我需要 EcmaScript5/CSS3 的所有功能。

我使用 Electron Packager 为 windows 创建 exe。但 EJS 不支持动态数据。

mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  })
 mainWindow.loadURL('file://' + __dirname + './views/index.ejs');

最佳答案

看起来您正在尝试继续使用 Electron 的服务器端 View 。但是在那个环境中没有真正的服务器(尽管从技术上讲,您可以创建一个 - 分拆一个监听端口的快速服务器并让前端“浏览”它)。

您应该研究的是客户端 EJS 模板处理。如果是所有 View ,这很简单。如果您还尝试从同一服务器端应用程序获取 View 数据,则会出现更大的问题。在这种情况下,您需要进行相当大的更改 - 将 Node 服务器代码放入 Electron 主进程并与渲染器来回传递。到那时,“嵌入式”快速服务器的想法开始显得值得。

关于node.js - 如何使用 Node EJS 将我的 Web 应用程序转换为具有相同功能的桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56963472/

相关文章:

javascript - 在 Node.js 中弹出部分数组

javascript - 如何在 nodejs 中包含 liquidfun 物理引擎

node.js - NodeJS http post请求读取超时

electron - 当窗口最小化 Electron 时window.maximize()失败

javascript - 来自sql数据库的数据不会在EJS页面上呈现,除非它处于循环中(使用node,express,ejs,mysql)

javascript - 使用 SSO 在两个 Node 应用程序之间共享 session

ffmpeg - Windows 10 EV 代码签名不再适用于 Electron 应用程序

electron - 无法删除Electron开发中的菜单

javascript - 在 .ejs 文件中获取当前页面?

EJS - 包含时传递变量