【问题标题】:Host html with javascript dependencies on node.js在 node.js 上托管带有 javascript 依赖项的 html
【发布时间】:2019-11-18 11:44:45
【问题描述】:

我的问题是:是否可以托管整个网站以及对 node.js 的 JavaScript 依赖项,使用/不使用 express 或其他框架。

JavaScript 将包含特定于 html 的调用,例如使用 window 对象创建新窗口或向其他 windows/web workers 发布消息。我有一些运行 JavaScript 的经验,但没有运行节点的经验,我进行了很多搜索,试图找到一个可靠的答案。

如果这确实需要使用框架,我只能说这个功能应该已经包含在从第 0 天开始的 vanilla 节点构建中,为什么它不会让我感到困惑。

这是我要运行的基本 HTML 代码示例

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
let window = window.open()

 window.onload = function (){
  window.postmessage({hello:"world"})
  }
 </script>

 <script src="./ImageResource.js"></script>
 </body>
 </html>

问/答

“为什么不手动打开一个页面并使用节点与之通信” 我有一个用 vanilla JavaScript 构建的整个项目,不希望将其转换为节点兼容代码(还没有)。

免责声明: 如果你觉得这个问题已经在另一个线程上得到了正确的回答,请而不是负面评论,我要求你将它链接到我,所以我可能会质疑我是否应该删除我的线程以弃用。谢谢你有美好的一天!。

【问题讨论】:

  • 我认为遵循大多数人的做法是件好事。以我的经验,这可能是错误的,但是某个框架中的 Javascript 代码不能总是嵌入到 HTML 代码中。
  • 如果只提供静态页面,最好使用像 Apache 这样的常规 Web 服务器。无论如何,您都不会使用任何 node.js 功能。但是,如果你真的想要,从 node.js 提供静态页面也应该是微不足道的。
  • 非常感谢大家,感谢 cmets :)。如果我找不到可靠的答案,我肯定会切换语言。

标签: javascript html css node.js


【解决方案1】:

是的,你可以。毕竟 Express 和其他的东西都内置在 JavaScript 中。

但是,你为什么要这样做? Express 通常不被认为是重量级框架。 它不会对您施加太多影响,它利用底层 Node.js 内置的 HTTP 请求/响应对象。总的来说,这是一个很好的工具。

无论如何,听起来您的项目根本不需要 Node.js。任何网络服务器都可以。 Node.js 通常用于服务器端工作。不需要只托管您的网页。

【讨论】:

  • 目前这只是为了测试,但我想知道我可以这样托管应用程序,因此将来我可以制作运行客户端的项目,而无需依赖服务器来移动它。还有一个很大的好处是它们都使用同一种语言,否则我只会使用 python 或其他东西来获得学习经验。
  • @static660 如果您正在运行 HTML 客户端,您仍然不需要服务器(通常)。直接打开 HTML 页面即可。
  • 如果您使用 post 消息,它会通过跨域策略强制您。我还有其他一些事情迫使我在服务器上运行它。如果我不必这样做,我就不会。
猜你喜欢
  • 2018-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
  • 2023-01-14
相关资源
最近更新 更多