You are currently viewing Устраните ошибку, не обнаружившую ошибку ссылки: требование не определено в Node.js

Устраните ошибку, не обнаружившую ошибку ссылки: требование не определено в Node.js

Работая с узлом 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() и ошибка, связанная с этим. Если вы столкнулись с какой-либо ошибкой, не забудьте погуглить ее и попытаться отладить самостоятельно. Это научит вас отлаживать самостоятельно, так как кто-то, возможно, сталкивался с подобной проблемой ранее.