Javascript 有没有一件事是这样的;打包web应用程序;?

Javascript 有没有一件事是这样的;打包web应用程序;?,javascript,browser,packaging,Javascript,Browser,Packaging,假设我有一个HTML/JS应用程序,它位于一个网站上,运行时没有任何服务器端组件(当然除了web服务器)。因此,它基本上只是一堆.html、.css和.js文件(以及一些其他文件,如图像或SQLite数据库) 有一天,一个用户来问我是否可以制作一个离线版本,这样他们就可以在离线时访问应用程序。 我的第一反应是将应用程序中的所有文件提供给他们,放在.zip文件或其他文件中,但这并不是很好:对于普通用户来说,这些文件和代码并不“清晰”,而且这些文件和代码很明显(如果用户无意中编辑或删除它们,这可能是

假设我有一个HTML/JS应用程序,它位于一个网站上,运行时没有任何服务器端组件(当然除了web服务器)。因此,它基本上只是一堆
.html
.css
.js
文件(以及一些其他文件,如图像或SQLite数据库)

有一天,一个用户来问我是否可以制作一个离线版本,这样他们就可以在离线时访问应用程序。 我的第一反应是将应用程序中的所有文件提供给他们,放在
.zip
文件或其他文件中,但这并不是很好:对于普通用户来说,这些文件和代码并不“清晰”,而且这些文件和代码很明显(如果用户无意中编辑或删除它们,这可能是“危险的”)

所以我想知道:是否有一种格式可以让我将应用程序的文件存储在打包文件中? 该文件类似于
.zip
文件,但当您单击该文件时,它会打开内部的
/index.html
(或类似文件),而不是打开归档文件

因此,对于用户来说,这类似于打开一个
.exe
或一个
.html
文件,但这仍然不是一个本机应用程序,因为它仍然是一个浏览器应用程序

鉴于我知道:

  • 阿帕奇·科尔多瓦;但大多数时候,我只使用浏览器功能,不需要使用高级的本机功能
  • UWP和PWA,但我不知道它是否正是我想要的(我认为它是网站和移动应用的混合体,但我肯定错了)
  • OpenWebApp(Mozilla的一个标准),但根据我所读到的内容,它似乎已被弃用,不再使用。另外,我并不真的期待“认证”我的应用程序。。。我只想打包一些文件

我认为PWA不能解决您的问题,因为您无法将代码作为可执行包重新分发

UWP将过于特定于Windows,可能会使您失去平台独立性,因为您使用的是纯HTML和JS,而且据我所知,您需要在Windows应用商店上分发应用程序

我相信打包为电子应用程序将是最好的解决方案,因为您可以提供可在几乎所有平台上执行的可执行文件。

将是最好的解决方案。我有一个客户端,第一次想在php服务器上运行这个应用程序,最后他们发现他们需要它作为一个桌面应用程序。将php内容重写到节点并打包为Electron应用程序很容易。您可以访问所有文件、系统等,因此如果需要,您可以执行更多操作


另一个解决方案是将所有内容都内联到一个html文件中。

您应该能够在Google Chrome中打开您的.html页面,然后它就可以开箱即用了?如果它只是.html、.css和.js,并且所有文件都可以在archiveI中使用,我不确定是否有标准的跨浏览器格式,但您可以将该应用程序作为Chrome的Chrome Web应用程序提供给Chrome,例如。@sjahan Chrome应用程序目前已被弃用,从现在起,它们仅在Chrome操作系统中受支持@AK47是的,当然。但这就是我这篇文章的重点:我想知道是否有什么东西,我们不需要一堆html/css/js文件,而是将它们全部封装在一个文件中,这会让最终用户更容易使用。事实上,我忘了说,但我在一些应用程序中使用了Electron(我在我的文章中将其与Cordova混淆了…)。问题是Electron提供了一个完整的引擎并添加了它的API,有些应用程序并不需要这些API,因为它们最初不是本地的。我真正搜索的东西是在用户的常规浏览器中打开的东西,因此它不会占用Electron所需的所有空间(另外,Electron给了我一些问题,例如我无法使用
prompt()