Поиск…


Вступление

В этой документации основное внимание уделяется объяснению использования и инструкции require() которую NodeJS включает в свой язык.

Требовать - это импорт определенных файлов или пакетов, используемых с модулями NodeJS. Он используется для улучшения структуры кода и использования. require() используется для файлов, которые установлены локально, с прямым маршрутом из файла, который require .

Синтаксис

  • module.exports = {testFunction: testFunction};
  • var test_file = require ('./ testFile.js'); // У нас есть файл с именем testFile
  • test_file.testFunction (our_data); // Пусть testFile имеет функцию testFunction

замечания

Использование require() позволяет структурировать код таким образом, который аналогичен использованию Java классами и общедоступными методами. Если функция имеет значение .export , она может require в другом файле, который будет использоваться. Если файл не .export 'ed, его нельзя использовать в другом файле.

Начало require () использование с функцией и файлом

Требовать - это утверждение, которое узел интерпретирует как, в некотором смысле, функцию getter . Например, скажем, у вас есть файл с именем analysis.js , и внутренняя часть вашего файла выглядит так:

function analyzeWeather(weather_data) {
  console.log('Weather information for ' + weather_data.time + ': ');
  console.log('Rainfall: ' + weather_data.precip);
  console.log('Temperature: ' + weather_data.temp);
  //More weather_data analysis/printing...
}

Этот файл содержит только метод, analyzeWeather(weather_data) . Если мы хотим использовать эту функцию, она должна быть либо использована внутри этого файла, либо скопирована в файл, который он хочет использовать. Однако Node включил очень полезный инструмент, помогающий с организацией кода и файлов, которые являются модулями .

Чтобы использовать нашу функцию, мы должны сначала export функцию через инструкцию в начале. Наш новый файл выглядит так:

module.exports = {
  analyzeWeather: analyzeWeather
}
function analyzeWeather(weather_data) {
  console.log('Weather information for ' + weather_data.time + ': ');
  console.log('Rainfall: ' + weather_data.precip);
  console.log('Temperature: ' + weather_data.temp);
  //More weather_data analysis/printing...
}

С помощью этого небольшого оператора module.exports наша функция теперь готова к использованию вне файла. Все, что осталось сделать, это использовать require() .

Если require функция или файл, синтаксис очень похож. Это обычно делается в начале файла и установить его в var -й или const 's для использования в течение всего файла. Например, у нас есть еще один файл (на том же уровне, что и у analyze.js именем handleWeather.js который выглядит так,

const analysis = require('./analysis.js');

weather_data = {
  time: '01/01/2001',
  precip: 0.75,
  temp: 78,
  //More weather data...
};
analysis.analyzeWeather(weather_data);

В этом файле, мы используем require() , чтобы захватить наш analysis.js файл. При использовании мы просто вызываем переменную или константу, назначенные этому require и используем любую функцию внутри экспортируемой.

Начало require () использование с пакетом NPM

Узла require также очень полезно при использовании в сочетании с пакетом НПМ . Скажем, к примеру, вы хотели бы использовать пакет НПМ require в файле с именем getWeather.js . После того, как NPM установит ваш пакет через вашу командную строку ( git install request ), вы готовы использовать его. getWeather.js ваш файл getWeather.js выглядит так,

var https = require('request');

//Construct your url variable...
https.get(url, function(error, response, body) {
  if (error) {
    console.log(error);
  } else {
    console.log('Response => ' + response);
    console.log('Body => ' + body);
  }
});

Когда этот файл запущен, сначала require «s» (импорт) только что установленного пакета с request . Внутри файла request есть много функций, к которым у вас есть доступ, один из которых называется get . В следующих парах строки функция используется для выполнения запроса HTTP GET .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow