freeCodeCamp/curriculum/challenges/russian/02-javascript-algorithms-an.../es6/understand-the-differences-...

4.5 KiB
Raw Blame History

id title challengeType videoUrl localeTitle
587d7b8c367417b2b2512b55 Understand the Differences Between import and require 1 Понимание различий между импортом и требованием

Description

Раньше функция require() использовалась для импорта функций и кода во внешние файлы и модули. Хотя это удобно, это создает проблему: некоторые файлы и модули довольно большие, и вам может понадобиться только определенный код из этих внешних ресурсов. ES6 дает нам очень удобный инструмент, известный как импорт . С его помощью мы можем выбрать, какие части модуля или файла загружать в данный файл, экономя время и память. Рассмотрим следующий пример. Представьте, что math_array_functions имеет около 20 функций, но мне нужен только один countItems в моем текущем файле. Старый метод require() заставил бы меня задействовать все 20 функций. С помощью этого нового синтаксиса import я могу привести только желаемую функцию, например:
import {countItems} из "math_array_functions"
Описание приведенного выше кода:
import {function} из "file_path_goes_here"
// Мы также можем импортировать переменные одинаково!
Существует несколько способов написания оператора import , но это очень распространенный случай использования. Заметка
Пробел, окружающий функцию внутри фигурных скобок, является лучшей практикой - упрощает чтение инструкции import . Заметка
В уроках этого раздела используются функции, отличные от браузера. import и заявления, которые мы вводим на оставшихся уроках, не будут работать в браузере напрямую. Однако мы можем использовать различные инструменты для создания кода из этого, чтобы он работал в браузере. Заметка
В большинстве случаев путь к файлу требует ./ перед ним; в противном случае узел будет выглядеть в каталоге node_modules сначала пытаясь загрузить его как зависимость.

Instructions

Добавьте соответствующий оператор import , который позволит текущему файлу использовать функцию capitalizeString . Файл, в котором работает эта функция, называется "string_functions" , и он находится в том же каталоге, что и текущий файл.

Tests

tests:
  - text: действительный оператор <code>import</code>
    testString: 'getUserInput => assert(getUserInput("index").match(/import\s+\{\s*capitalizeString\s*\}\s+from\s+("|")string_functions\1/g), "valid <code>import</code> statement");'

Challenge Seed

"use strict";
capitalizeString("hello!");

Before Test

window.require = function (str) {
if (str === 'string_functions') {
return {
capitalizeString: str => str.toUpperCase()
}}};

Solution

// solution required