javascript require 在 html 中不起作用

dzu*_*ani 6 html javascript require requirejs

我正在编写涉及 js 代码的 html 代码。下面是一个简单的例子:

<!DOCTYPE html PUBLIC >
<html>
<body>
<h2>Use JavaScript to Change Text</h2>
<p>This example writes "Hello JavaScript!" into an HTML element with id="demo":</p>
<p id="demo"></p>
<script>
    var net     = require('net');
    var sleep   = require('sleep');
    var element = document.getElementById("demo");
    element.innerHTML = "Hello JavaScript!";
    sleep(1)
</script> 
Run Code Online (Sandbox Code Playgroud)

不幸的是“你好 JavaScript!” 当我用浏览器浏览上述文件时没有出现。查看调试控制台内部,我可以看到以下消息:

ReferenceError: require is not defined
Run Code Online (Sandbox Code Playgroud)

所以似乎在 html 代码中没有定义 require ,但我写了一个小的 test.js 文件如下:

var net = require('net');
var sleep = require('sleep');
sleep.sleep(1)
Run Code Online (Sandbox Code Playgroud)

然后我运行它

node test.js.
Run Code Online (Sandbox Code Playgroud)

没有错误,一切正常,需要可用,睡眠和网络也是如此。为什么 html 文件中的代码不起作用?

Pet*_*ris 10

Javascript 与 node.js 不同

require() 不是 JavaScript 标准的一部分,也不受浏览器开箱即用的支持,它是 node.js 模块系统。

您可能需要直接包含模块;某些模块可能无法在浏览器沙箱上下文中工作。

此外,诸如http://browserify.org/ 之类的工具可能很有用。


Ale*_*lec 5

您得到的原因ReferenceError: require is not defined是因为您的 html 页面中没有任何地方包含 Require 。标准 JavaScript 库中不包含 Require。您必须将该文件包含在您的页面上,以便可以加载和使用它。

<script src="myJS.js"></script>这可以通过简单地添加<head>或标签来完成<body>myJS.js当然,该文件将被该require.js文件替换。

当你使用 Node 运行时它可以工作的原因是 Node 已经有它自己的模块加载器。