【问题标题】:Why are Node modules not loading in html file?为什么 Node 模块没有加载到 html 文件中?
【发布时间】:2020-08-25 23:38:34
【问题描述】:

我正在尝试将节点模块加载到 index.html 文件中。

我已经安装了所有节点模块 - 在 /node_modules

在 package.json 文件中我有:“mysql”:“^2.18.1”,

如果我使用以下方法创建 JS 文件:

const http = require('http'); const mysql = require('mysql');

(加上其他相关代码)

并使用以下命令运行该文件:节点文件名,我会在浏览器中获得所需的 MYSQL 表输出。

当我尝试:

const http = require('http'); const mysql = require('mysql');

在 index.html 文件中,我收到消息:“ReferenceError: require is not defined”。

现在,我知道这是未定义变量或找不到文件时的常见 JS 消息,但我不明白为什么在“本地”找到模块,即使用节点在终端中运行时上面的命令,但不是在 html 文件的 JS 区域中使用相同的代码 - const... 时。

简而言之,有没有办法在我缺少的 html 文件中指定模块的路径? (我用 ./ 等尝试过各种各样的事情。)或者,还有什么问题吗?

谢谢 PB

【问题讨论】:

  • 您不能在浏览器中使用 Node.js。你可能想看看Electron

标签: node.js


【解决方案1】:

无法从在浏览器中运行的网页require Node.js 模块。一个网页只能访问Web APIs,就像DOM一样。

现在,我知道这是未定义变量或找不到文件时常见的 JS 消息 [...]

其实是JS引擎发来的消息,说没有找到require函数。 Common JS 在浏览器中也不可用(除非您将其包含在您的项目中)。

【讨论】:

  • 非常感谢。我开始怀疑我在尝试做的事情和错误消息中都走错了路。
猜你喜欢
  • 2020-11-18
  • 1970-01-01
  • 2017-11-18
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多