【问题标题】:creating standalone node js application installer创建独立节点 js 应用程序安装程序
【发布时间】:2014-09-01 06:53:33
【问题描述】:

我已经阅读了很多回答这个问题的链接。 但我有一个具体的疑问,所以我们开始吧! 我们的 App 使用 angular js 作为 UI 和 node js 后端服务器

这是我计划执行创建独立应用程序目标的方式

  1. 我会运行一个 shell 脚本来缩小(不是混淆 -> 因为在很多地方,我读到混淆会产生一些错误,而缩小是一个足够安全的选项)我的应用程序源中的所有 JS 源文件
  2. 然后我会将它们全部压缩到一个压缩文件夹中
  3. 我会给客户压缩文件夹和一个shell脚本
  4. 当客户运行shell脚本时,它会解压文件夹,然后运行我们手动运行的所有命令来启动应用程序。

所以每次客户需要应用程序时,他只需运行shell脚本(当文件已经解压时,将跳过解压缩步骤。)

这种方法好吗?我可以继续吗?

【问题讨论】:

  • 不确定您客户的技能水平。目标平台?您可以期望安装节点或自己安装吗?自动打开浏览器?哪个浏览器?您最好设置正确的默认值。除非您分发给技术人员并且拥有非常好的脚本,否则 IMO 会遇到问题。
  • @panta82。我们将自己进行安装并处理所有先决条件。客户每次想要使用产品时运行脚本以启动应用程序的部分是他将运行脚本的唯一时间,我相信不会需要很多技术专业知识。你觉得呢?
  • 您创建一个指向您的脚本的桌面图标。客户单击图标,您的脚本在终端中启动应用程序并打开浏览器窗口。用户然后通过浏览器使用您的应用程序。对吗?
  • 这就是@panta82 的意图

标签: node.js angularjs shell installation obfuscation


【解决方案1】:

您可以关注How to create a Windows (InnoSetup exe) installer (for NodeJS apps),它使用 inno 设置,您可以在其中为 Windows 制作任何节点应用程序的安装程序。

在我的例子中,我制作了一个安装程序,它会自动在客户端机器上安装节点二进制文件,并与我的电子角度应用程序一起运行服务器。

【讨论】:

    【解决方案2】:

    好的,你的想法在技术上是可行的。但它不是很用户友好。我能想到的问题:

    • 您需要手动安装和维护节点可执行文件
    • 用户得到了一个他们不得不保留的丑陋的控制台应用程序
    • 不清楚如何结束应用程序。关闭控制台窗口?关闭浏览器选项卡?浏览器窗口?

    如果我需要这样做,我会选择 node-webkit 或 appjs。

    这些框架允许您将基于 webkit 的浏览器与节点可执行文件捆绑在一起。你点击一个 exe,你看到的是一个精简的浏览器窗口,你的 node.js 应用程序在下面默默地为它供电。没有控制台窗口,单独的浏览器等。浏览器部分和节点之间有一座桥梁,因此您甚至不需要使用 ajax 进行通信(尽管没有什么可以阻止您)。

    此时切换可能为时已晚,但将来可能需要记住一些事情。

    【讨论】:

    • 我考虑过 node-webkit ,但由于这更多是在产品发布其版本之一后开始的任务,我不知道这样做的可行性..因为基本上我们需要从开发开始就集成框架吗?
    • 它是一个普通的浏览器和一个普通的node.js应用程序,所以我怀疑你可以正常做的任何事情,你可以在这里做(例如,只需忽略内存集成并通过ajax / socketio进行通信)。需要注意的是,我只尝试使用集成编写一个成熟的桌面应用程序,而不是像你需要做的那样转换一个网络应用程序。
    • 是的,这正是让我无法接受上述任何选项的原因。无论如何,非常感谢@panta82
    猜你喜欢
    • 2021-09-19
    • 2013-10-18
    • 2016-02-15
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多