Изучение схем URL-адресов: файлы и данные в загрузчике ESM

Когда дело доходит до работы с URL-адресами в веб-разработке, важно понимать концепцию схем URL-адресов. Схемы URL-адресов определяют протокол или механизм, используемый для доступа к определенным типам ресурсов. В этой статье мы сосредоточимся на двух схемах URL-адресов, поддерживаемых загрузчиком ESM (модуль ECMAScript) по умолчанию: файл и данные. Мы рассмотрим различные методы и предоставим примеры кода для работы с этими схемами, особенно в Windows. Итак, приступим!

  1. Метод 1. Использование API fetchс URL-адресами файлов:
    Пример кода:

    fetch('file:///path/to/file.txt')
     .then(response => response.text())
     .then(data => console.log(data));

    Описание:
    API fetchобычно используется для получения ресурсов по URL-адресу. Добавляя к URL-адресу файла префикс file://, мы можем получать контент из локальных файлов. Ответ можно обработать с помощью метода .text(), как показано в примере кода.

  2. Метод 2: использование функции readFileиз модуля Node.js fs:
    Пример кода:

    const fs = require('fs');
    fs.readFile('/path/to/file.txt', 'utf8', (err, data) => {
     if (err) throw err;
     console.log(data);
    });

    Описание:
    Если вы работаете с Node.js, вы можете использовать модуль fsдля асинхронного чтения содержимого файла. Функция readFileпринимает путь к файлу, кодировку и функцию обратного вызова для обработки данных.

  3. Метод 3. Преобразование URL-адресов данных в объекты Blob:
    Пример кода:

    const dataURI = 'data:text/plain;base64,SGVsbG8gV29ybGQ=';
    const byteCharacters = atob(dataURI.split(',')[1]);
    const byteArrays = [];
    for (let i = 0; i < byteCharacters.length; i++) {
     byteArrays.push(byteCharacters.charCodeAt(i));
    }
    const blob = new Blob([new Uint8Array(byteArrays)], { type: 'text/plain' });

    Описание:
    URL-адреса данных позволяют встраивать данные непосредственно в сам URL-адрес. Чтобы работать с URL-адресами данных, вы можете преобразовать их в объекты Blob. В примере кода показано, как преобразовать URL-адрес данных в объект Blob с помощью функции atobдля декодирования данных в кодировке Base64.

Понимание схем URL-адресов, таких как файлы и данные, имеет решающее значение для веб-разработчиков. В этой статье мы рассмотрели различные методы работы с этими схемами с использованием загрузчика ESM по умолчанию. Мы рассмотрели получение содержимого файла с помощью API fetch, чтение файлов с помощью модуля Node.js fsи преобразование URL-адресов данных в объекты Blob. Используя эти методы, вы можете легко обрабатывать URL-адреса файлов и данных в своих проектах веб-разработки.