我正在编写涉及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>
不幸的是"你好javascript!"当我使用浏览器浏览上述文件时,不会出现。查看在调试控制台内部,我可以看到循环消息:
ReferenceError: require is not defined
因此,似乎在HTML代码中未定义需求,但我已经写了一个小的test.js文件:
var net = require('net');
var sleep = require('sleep');
sleep.sleep(1)
然后我用
运行它node test.js.
没有错误,一切正常,都可以使用,也可以睡眠和网。为什么HTML文件中的代码不起作用?
javascript与node.js
不同require((不是JavaScript标准的一部分,并且不受开箱即用的浏览器支持,而是Node.js模块系统。
您可能需要直接包含模块;某些模块可能在浏览器沙盒上下文中不起作用。
另外,诸如http://browserify.org/之类的工具可能很有用。
您获得 ReferenceError: require is not defined
的原因是,在您的html页面中没有任何地方都需要。要求不带您的标准JavaScript库。您必须在页面上包含文件,以便可以加载并使用。
这可以通过简单地在<head>
或<body>
标签中添加<script src="myJS.js"></script>
来完成。myJS.js
文件当然将被require.js
文件代替。