【发布时间】:2018-07-21 14:30:50
【问题描述】:
我想制作一个 Node js 应用程序,它可以在每台机器上本地运行,而不管使用的操作系统如何。例如,如果我在 node js 中构建一个待办事项列表应用程序,当我在浏览器中键入 www.todo.app 时,该待办事项应用程序应该运行。我尝试使用 Electron Js 来制作应用程序,但问题是,它需要额外的机器内存。我知道 Electron 使用内置的 chrome 浏览器运行。如果我已经在机器上安装了 chrome 浏览器,为什么 Electron 还要在该机器上安装另一个 chrome。
所以,我的问题是,如果我有机会做一个在机器浏览器中本地运行的节点 js 应用程序。
【问题讨论】:
-
那么,你基本上需要建一个网站吗?那是客户端的Javascript。 Node JS 是一个运行时,它可以执行 Javascript 代码并提供对本地 OS 功能(如文件系统、套接字、进程等)的访问。您显然无法在网站(Web 应用程序)的上下文中访问这些资源,但您可以使用 Javascript 构建交互式应用程序,获取数据,将其保存在客户端存储等。但它不会是 Node JS 应用程序,它只是一个 Javascript 应用程序,通过 HTML 页面加载。
-
实际上并不是一个网站。我喜欢编写一个在客户端离线运行的 Web 应用程序。如果用户打开他的电脑,打开浏览器,输入 www.todo.app,应用程序应该可以在没有互联网连接的情况下运行。我想使用 node js 来访问和修改文件。如果我在命令提示符下键入 node server.js,node js 服务器开始运行。但我不希望我的用户打开命令提示符并键入 node server.js 来运行 todo 应用程序。随着电脑启动,server.js 也应该启动。
-
好的,您想要完成的任务很多,我不确定您之前部署客户端应用程序的经验。您最好的选择仍然是 Electron,因为它包含了许多您需要手动构建和部署的组件:安装程序、更新程序、节点运行时等。所以,如果您不熟悉这一切,我会说坚持使用 Electron,不要担心你认为是内存开销。这实际上就像打开另一个 Chrome 标签页,所以没什么大不了的。不确定 Electron 是否支持安装在机器启动时运行的代理,但您可以研究一下。
-
伟大的应用程序,例如 Visual Studio Code,是使用 Electron 构建和部署的,因此它是一个有价值的工具,应该可以满足您的大部分需求并帮助您快速轻松地开始。
标签: javascript node.js express