Node.js 是";app.listen();将节点脚本连接到我的网站时是否需要?

Node.js 是";app.listen();将节点脚本连接到我的网站时是否需要?,node.js,express,Node.js,Express,我对网络开发还很陌生,如果答案显而易见,我很抱歉 无论如何,我已经为我的网站创建了一个表单,允许用户通过电子邮件向我发送请求。我正在使用nodemailer在我的app.js脚本中执行此操作。显然,也使用Express。任何人,在测试期间,当我运行本地服务器'node app.js'时,一切正常,即我在localhost:3000上打开了我的index.html,并且可以通过我的表单成功地向自己发送电子邮件。现在我只需将所有文件添加到我网站的cpanel public_html文件夹中。让它成为

我对网络开发还很陌生,如果答案显而易见,我很抱歉

无论如何,我已经为我的网站创建了一个表单,允许用户通过电子邮件向我发送请求。我正在使用
nodemailer
在我的
app.js
脚本中执行此操作。显然,也使用
Express
。任何人,在测试期间,当我运行本地服务器
'node app.js'
时,一切正常,即我在
localhost:3000
上打开了我的
index.html
,并且可以通过我的表单成功地向自己发送电子邮件。现在我只需将所有文件添加到我网站的cpanel public_html文件夹中。让它成为正式的

问题是:当我将
'app.js'
放入网站文件时,
app.listen(*端口号*)
有必要吗?只要我的
index.html
表单可用,它还会激活
'app.js'


再一次,这仍然是非常新的,至少后端的东西。谢谢您的帮助。

您没有显示任何代码,这使我们很难猜测您在做什么

您必须以某种方式启动web服务器,否则将不会有任何服务器进程运行,并且不会对传入的请求做出任何响应
app.listen(端口)
是使用Express启动服务器的一种方法

您没有说明您拥有哪种类型的web托管帐户,但听起来您可能试图使用的共享托管帐户不专门支持node.js应用程序,并且可能与node.js应用程序不兼容

您需要一个托管帐户,该帐户允许您拥有一个长时间运行的服务器进程(node.js服务器进程),并且您必须按照托管说明配置服务器上的端口,以匹配其共享基础结构的工作方式

当我将app.js放入我的网站文件时,app.listen(端口号)是否有必要

好问题!从本质上说,这确实是必要的。您的express服务器是一个实时进程,需要通过侦听服务器上的端口进行输入,您可以通过多种方式承载该进程。如果此进程未在您的服务器上运行,则将不会有任何进程运行您的请求。。。好的,处理好了


简单地将它上传到您选择的Web服务器上,本质上就是一个JS文件,它位于您的Web服务器上,非常孤独,没有目的!这是一个很好的总结,可以帮助您继续部署express server

如果有人好奇,我只是用PHPMailer重做了整个事情(第一次用Nodemailer)。这样,我就不必处理与共享主机服务(Bluehost)的节点兼容性问题。我可以把PHP文件放在那里。

因为看起来您是新来的,如果您在问题中包含代码的相关部分,通常会得到更准确、更具体的答案。这就消除了任何关于你到底在做什么的问题,人们可以根据你的具体情况做出答案。感谢并抱歉没有提供足够的信息。是的,我正在使用Bluehost,一个共享的托管平台。所以我可能得用另一种方法。是的。。。。也许是最好的。node.js不是可以直接放入任何现有主机并使其发挥功能的东西,它必须正确地暴露于外部世界,可以通过打开端口或通过现有端口代理,node.js实际上必须安装在服务器上。