NodeWebkit-部署应用程序
NodeWebkit - deploy the application
我有一个Web和NodeWebkit(NW)应用程序的代码库。我使用以下堆栈:-React-哈皮-Sequelize-Windows环境
Web版本的应用程序使用MySQL,而NW使用Sqlite。一切都很好。我有一个配置文件,用于编译我需要的应用程序(web或NW)。
我现在面临的问题是如何部署NW应用程序。想法是向客户提供NW应用程序,他将在那里单击图标打开它。
由于我在NW版本中使用Node,并且应用程序使用存储在Node_modules中的许多模块,因此我面临着如何将其全部打包的挑战。
我的想法是制作一个Windows安装程序。用户将单击它,安装程序将把所有文件提取到目的地。并在用户桌面上制作一个图标来运行它
问题在于Windows文件名限制。在node_modules中,有许多子目录违反了Windows的限制。我甚至无法复制node_modules文件夹。我甚至不能删除它。如果我压缩它…或者手动删除长文件夹,我肯定可以复制它。
我还没有开始安装,但我想我会用这种方法碰壁。
有人知道如何进行部署吗?如何在NW中集成NPM3?
我现在的计划是制作Windows安装程序。该windows安装程序将正常安装应用程序文件。node_modules将被预先压缩并放置在安装程序中。安装程序将简单地将其解压缩到destionation文件夹。
我将在这里发布我的进度。
这里有一些更新。这里的主要问题是node_modules的深度。node_modules中有许多模块,经过思考,我发现其中有一个简单的规则。一些模块是服务器端模块,而其他模块则由react使用。由于Webpack已经创建了一个巨大的文件,其中已经包含了所有模块,所以我根本不需要它们。
因此,我删除了所有前端模块(babel模块,react-*),只剩下服务器端(Hapi,sequelize…)。奇迹发生了,应用程序运行,启动时速度更快。
我将使用Inno设置来制作一个清单文件,这应该很好。
我仍然没有脱离危险区,因为开发人员可能需要一个具有巨大深度的服务器端模块。但如果真的发生了,我会考虑的。
更多内容。。。
实际上,在nodejs中,您可以执行以下操作:
1-在项目文件夹中创建另一个文件夹,例如"server_modules"
2-在创建的文件夹中创建另一个package.json文件,并安装服务器所需的任何模块
3-所有这些模块都可以作为使用require('module_name')
的普通node_modules访问,如果不需要,您可以在打包桌面版本时删除"server_modules"文件夹
注意:一些开发人员使用这种方法在nodejs中实现微服务,但在您的情况下它很有用
- 使用Q节点模块时,Bluemix node.js应用程序部署失败
- 将 MVC 3 应用程序部署到 URL 文件夹已损坏 JavaScript 和内容路径
- Webpack - 将应用程序部署到不同的环境
- 在轨道中部署 Angular2 演示应用程序或作为独立应用程序部署
- “引用错误:未定义压缩”时将 Node.js 应用程序部署到 Heroku
- 尝试将Python/flask应用程序部署到Heroku时,未能绑定到$PORT
- 将应用程序部署到Heroku
- 将Node.js应用程序部署到heroku时出现Async.times错误(重复循环)
- 当应用程序部署到云时,.js文件与index.html的内容一起提供
- 使用node.js将rails应用程序部署到ubuntu
- 在将node.js应用程序部署到Heroku时,如何执行自定义构建脚本
- 将Yeoman Angular应用程序部署到Heroku
- 将流星应用程序部署到域和别名
- 将Meteor 0.8.3应用程序部署到Heroku
- 为什么我不能成功地将我的nodejs应用程序部署到heroku
- 有没有可能在没有web动态的情况下将Node.js应用程序部署到Heroku ?
- 是否有可能将我为Android编写的应用程序部署到iOS
- 将node.js应用程序部署到Heroku - "未找到gruntfile ."
- 应用程序部署到活动服务器时出现内部服务器错误
- 将流星应用程序部署到模数的问题