【问题标题】:Is there any way to run Node.js in a <script> tag?有没有办法在 <script> 标签中运行 Node.js?
【发布时间】:2018-11-15 10:47:34
【问题描述】:

我想在我的网页中运行 Node.js,就像使用 PHP 或 ASP.NET 一样。

这样做的原因是我想在我的浏览器 javascript 中使用来自 NPM 的 require() 模块,但是 vanilla JS 似乎不支持这一点。有什么方法可以在我的标签中运行 Node.js?如果没有,是否需要在我的浏览器 javascript 中使用 examplenodefile.js?

编辑:如果不可能的话,还有其他选择吗?我知道我可以设置 script src 但这并不像 var foo = require('bar'); 那样好用

【问题讨论】:

  • 不,没有。您也不能在客户端运行 PHP 或 .net。
  • node.js 运行在服务端,而不是客户端。
  • 当然,许多来自 npm 的模块也可以在浏览器中运行,但您可能必须使用支持 commonjs require 的模块捆绑器
  • 您需要告诉我们您的最终目标是什么。使用 node (express) 构建网站需要您使用模板等,从 PHP 切换到该模板可能具有挑战性。另外,鉴于文件访问等方面的限制,您显然无法在浏览器环境中运行任意节点代码。这是关于特定模块的吗?或者只是不得不费力地围绕模板进行思考?

标签: javascript node.js browser require


【解决方案1】:

根据您的上述问题,我假设您想在浏览器端 JavaScript 中使用 NPM 模块。假设您有 web pack,这是可能的。你可以使用 webpack 将 NPM 包打包到一个包文件中。

查看 webpack...

https://webpack.js.org/

【讨论】:

  • 这看起来正是我想要的。只是在我的网站中使用 NPM 模块的简单方法。我会在允许的时候接受,谢谢!
  • 不客气。设置可能需要一些时间,但是当您设置它时,它是一个非常强大的工具。祝阅读愉快!
  • 同样,许多 npm 模块根本无法在客户端环境中工作,无论是否使用 webpack。
  • 我在我的包中使用了相当多的 npm 包。我没有遇到过很多不工作的东西,除非它们是为服务器端使用而构建的,比如 http 服务器或服务器端模板引擎。
  • @MicahBell 当然,但我怀疑 OP 确实想在他的 &lt;script&gt; 标签中做服务器端的事情,因为他引用了 PHP 和 ASP.NET。
猜你喜欢
  • 2020-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 2018-06-05
相关资源
最近更新 更多