gpt4 book ai didi

javascript - NodeWebkit - 部署应用程序

转载 作者:行者123 更新时间:2023-12-03 06:58:09 25 4
gpt4 key购买 nike

我有一个适用于 Web 和 NodeWebkit (NW) 应用程序的代码库。我使用以下堆栈:- react - 哈皮- 续集- Windows环境

Web 版本的应用程序使用 MySQL,而 NW 使用 Sqlite。一切都很好。我有一个配置文件,可以根据我的需要(网络或网络)编译应用程序。

我现在面临的问题是如何部署NW应用程序。想法是向客户提供 NW 应用程序,他将在其中单击图标打开它。

由于我使用 NW 版本的 Node,并且该应用程序使用了许多存储在 node_modules 中的模块,因此我面临着如何将其全部打包的挑战。

我的想法是制作一个 Windows 安装程序。用户单击它,安装程序会将所有文件提取到目的地。并在用户桌面上制作一个图标来运行它。

问题出在 Windows 文件名 limitation 上。在node_modules内部,有许多子目录完全违反了Windows限制。我什至无法复制 node_modules 文件夹。我什至无法删除它。当然,如果我压缩它,我可以复制它......或者手动删除长文件夹。

我还没有开始开发安装程序,但我想我会用这种方法碰壁。

有人知道如何进行此部署吗?我如何集成NPM3在西北?

我现在的计划是制作Windows安装程序。 Windows 安装程序将正常安装应用程序文件。 node_modules 将预先压缩并放置在安装程序中。然后安装程序会将其解压缩到目标文件夹。

我将在这里发布我的进展。

这里有一些更新。这里的主要问题是node_modules的深度。我在node_modules中有很多模块,经过一番思考,我发现那里有一个简单的规则。有些模块是服务器端模块,而其他模块则由react使用。而且由于 Webpack 已经创建了一个巨大的文件,其中已包含所有模块,因此我根本不需要它们。

所以我删除了所有前端模块(babel模块、react-*),只留下服务器端(Hapi、sequelize...)。奇迹发生了,应用程序运行并且启动时速度更快。

我将使用 Inno setup 来制作 list 文件,应该可以顺利进行。

我仍然没有脱离危险区域,因为开发人员可能需要一个具有巨大深度的服务器端模块。但如果发生的话我会考虑的。

更多内容敬请关注...

最佳答案

实际上在nodejs中你可以执行以下操作:

1-在项目文件夹中创建另一个文件夹,例如“server_modules”

2-在创建的文件夹中创建另一个 package.json 文件并安装服务器所需的任何模块

3-所有这些模块都可以使用require('module_name')像正常的node_modules一样访问,如果不需要,您可以在打包桌面版本时删除“server_modules”文件夹

注意:一些开发人员使用这种方法在 Nodejs 中实现微服务,但它对您的情况很有用

关于javascript - NodeWebkit - 部署应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37179918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com