Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 创建独立节点js应用程序安装程序_Node.js_Angularjs_Shell_Installation_Obfuscation - Fatal编程技术网

Node.js 创建独立节点js应用程序安装程序

Node.js 创建独立节点js应用程序安装程序,node.js,angularjs,shell,installation,obfuscation,Node.js,Angularjs,Shell,Installation,Obfuscation,我已经阅读了很多回答这个问题的链接。 但是我有一个明确的疑问,所以我们开始吧!! 我们的应用程序使用angular js作为UI和node js后端服务器 这是我计划执行创建独立应用程序目标的方式 我会运行一个shell脚本来缩小(而不是模糊->因为在很多地方,我读到模糊会产生一些bug,而缩小是一个足够安全的选项)我的应用程序源中的所有JS源文件 然后我会将它们全部压缩到一个压缩文件夹中 我会给客户一个压缩文件夹和一个shell脚本 当客户运行shell脚本时,它将解压缩文件夹,然后运行我们手

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

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

  • 我会运行一个shell脚本来缩小(而不是模糊->因为在很多地方,我读到模糊会产生一些bug,而缩小是一个足够安全的选项)我的应用程序源中的所有JS源文件
  • 然后我会将它们全部压缩到一个压缩文件夹中
  • 我会给客户一个压缩文件夹和一个shell脚本
  • 当客户运行shell脚本时,它将解压缩文件夹,然后运行我们手动运行的所有命令以启动应用程序
  • 因此,每当客户需要应用程序时,他都可以运行shell脚本(当文件已经解压缩时,解压步骤将被跳过)


    这种方法行吗?我能继续吗?

    好的,你的想法在技术上可行。但是它不是很友好。我能从脑海中看到的问题是:

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

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


    现在切换可能太晚了,但将来可能需要记住一些事情。

    好的,你的想法在技术上可行。但是它不是很友好。我能从脑海中看到的问题是:

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

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

    现在切换可能太晚了,但将来可能需要记住一些事情。

    您可以使用inno安装程序,在那里可以为windows安装任何节点应用程序

    在我的例子中,我制作了一个安装程序,可以在客户端计算机上自动安装节点二进制文件,并与我的electron angular应用程序一起运行服务器。

    您可以使用inno安装程序来安装windows的任何节点应用程序


    在我的例子中,我制作了一个安装程序,可以自动在客户机上安装node binary,并与我的electron angular应用程序一起运行服务器。

    不确定客户的技能水平。目标平台?您希望安装节点还是自己安装?自动打开浏览器?哪个浏览器?你最好有一个正确的默认设置。除非你分发给技术人员,并且有非常好的脚本,否则在我看来你会有问题。@panta82。我们将自己进行安装,并负责所有先决条件。客户每次想要使用产品时都会运行脚本以启动应用程序,这是他唯一一次运行脚本,我相信这不需要太多的技术专业知识。你认为呢?你创建了一个指向脚本的桌面图标。客户单击图标,您的脚本将在终端中启动应用程序并打开浏览器窗口。用户然后通过浏览器使用您的应用程序。对吗?这正是@panta82的意图,但不确定客户的技能水平。目标平台?您希望安装节点还是自己安装?自动打开浏览器?哪个浏览器?你最好有一个正确的默认设置。除非你分发给技术人员,并且有非常好的脚本,否则在我看来你会有问题。@panta82。我们将自己进行安装,并负责所有先决条件。客户每次想要使用产品时都会运行脚本以启动应用程序,这是他唯一一次运行脚本,我相信这不需要太多的技术专业知识。你认为呢?你创建了一个指向脚本的桌面图标。客户单击图标,您的脚本将在终端中启动应用程序并打开浏览器窗口。用户然后通过浏览器使用您的应用程序。对吗?这正是@panta82i所考虑的node webkit的意图,但由于这更多的是在产品发布其一个版本后开始的任务,我不知道这样做的可行性。。因为基本上我们需要从开发一开始就集成这个框架,对吗?它是一个普通的浏览器,下面是一个普通的node.js应用程序,所以我怀疑你可以正常做任何事情,你可以在这里做(例如,忽略内存集成,通过ajax/socketio进行通信)。需要注意的是,我只尝试使用集成编写一个完整的桌面应用程序,而不是像您需要的那样转换web应用程序。是的,这正是阻止我采用上述任何选项的原因。无论如何,非常感谢@panta82i@node webk