Работая с узлом JS, вы, возможно, знакомы с require() и иногда это показывает ошибку, такую как Uncaught ReferenceError: require is not defined.
Так почему же это происходит? Давайте посмотрим в сегодняшнем посте.
Прежде чем перейти к ошибке, давайте узнаем, для чего используется require ().
Функция require-это встроенная функция node js, которая помогает нам включать локальные или node_модули в наш проект, существующий в отдельном файле.
const express = require('express')
constapp = express()
constport = 3000
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(port, () => console.log('App is running!'))
Здесь мы импортировали экспресс-модуль в наш код с помощью require('express')
. Функция require будет искать файлы во встроенных основных модулях, модулях NPM(node_modules), локальных модулях и т. д.
Теперь давайте посмотрим, в чем причина ошибки. Вот пример кода.
let http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end();
}).listen(8080, '127.0.0.1');
console.log('server running');
Подавайте этот код, используя узлы http-server
и он покажет сервер, запущенный в консоли, но когда вы запустите его в браузере, вы получите Uncaught ReferenceError: require is not defined
.
Итак, почему это произошло?
Функция require определена только в узле js и не имеет ничего общего с браузером. И Node JS, и chrome имеют движок Javascript V8, но оба они совершенно разные с точки зрения запуска js. Ваш браузер способен запускать только javascript на стороне клиента. Чтобы запустить этот код без каких-либо ошибок, вам необходимо установить node в вашей системе. Вот подробное руководство по установке node js на Mac, Windows или Linux.
После установки запустите терминал и введите node -v
чтобы проверить, успешно ли он установлен или нет.
Чтобы запустить этот код без ошибок, сохраните этот файл как app.js и запустите его в своем терминале, используя команду node app.js
Код покажет вывод в терминале server running
. Это означает, что ваш код выполняется без каких-либо проблем.
Ну, все это было связано с функцией require()
и ошибка, связанная с этим. Если вы столкнулись с какой-либо ошибкой, не забудьте погуглить ее и попытаться отладить самостоятельно. Это научит вас отлаживать самостоятельно, так как кто-то, возможно, сталкивался с подобной проблемой ранее.