Javascript требует не работает внутри HTML - PullRequest
0 голосов
/ 25 апреля 2018

Я пишу HTML-код, который включает в себя JS-код. Ниже приведен простой пример:

<!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

Так что кажется, что require не определен внутри HTML-кода, но я написал небольшой файл test.js, как показано ниже:

var net = require('net');
var sleep = require('sleep');
sleep.sleep(1)

и затем я запускаю его с

node test.js.

Нет ошибок, все работает отлично, требуется доступный и сон и сеть, а также. Почему код внутри html-файла не работает?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Причина, по которой вы получаете ReferenceError: require is not defined, заключается в том, что нигде на вашей html-странице не указано «Требуется».Require не входит в стандартную библиотеку JavaScript.Вы должны включить файл на своей странице, чтобы его можно было загружать и использовать.

Это можно сделать, просто добавив <script src="myJS.js"></script> в теги <head> или <body>.Файл myJS.js, конечно, будет заменен файлом require.js.

Причина, по которой он работает при работе с узлом, заключается в том, что Node уже имеет свой собственный загрузчик модулей.

0 голосов
/ 25 апреля 2018

JavaScript не совпадает с node.js

require () не является частью стандарта JavaScript и не поддерживается встроенными браузерами, это модульная система node.js.

Возможно, вам придется напрямую включить модули; некоторые модули могут не работать в контексте изолированной программной среды браузера.

Также могут быть полезны такие инструменты, как http://browserify.org/.

...