我正在编写涉及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>
不幸的是#34; Hello JavaScript!&#34;使用浏览器浏览上述文件时,不会显示。查看调试控制台,我可以看到以下消息:
ReferenceError: require is not defined
所以似乎在html代码中没有定义require,但是我已经编写了一个小的test.js文件,如下所示:
var net = require('net');
var sleep = require('sleep');
sleep.sleep(1)
然后我用
运行它node test.js.
没有错误,一切正常,需要可用,睡眠和网络也是如此。为什么html文件中的代码不起作用?
答案 0 :(得分:4)
require()不是JavaScript标准的一部分,开箱即用的浏览器不支持它,它是node.js模块系统。
您可能需要直接包含模块;某些模块可能无法在浏览器沙箱上下文中使用。
此外,http://browserify.org/等工具可能很有用。
答案 1 :(得分:1)
您获得ReferenceError: require is not defined
的原因是因为您的html页面中没有任何地方需要包含。要求不附带您的标准JavaScript库。您必须在页面上包含该文件,以便加载和使用它。
只需在<script src="myJS.js"></script>
或<head>
标记中添加<body>
即可完成此操作。当然,myJS.js
文件将替换为require.js
文件。