Я пытаюсь понять, как внутренне кодируется «импорт» или как он на самом деле работает. Все, что я могу сказать, это то, что они могут использовать обещания внутри, что-то вроде, если файл, который мы пытаемся импортировать, успешно загружен, тогда (Обещание разрешено) разрешает использование файла, иначе (не отклонено).
var fs=require('fs');
const loadFile = (fileName, type) =>
new Promise((resolve, reject) =>
fs.readFile(fileName, type, (err, data) => {
return err ? reject(err) : resolve(data);
})
);
loadFile('./myfile.js', 'utf8')
.then(data => console.log('Success: ', data))
.catch(err => console.log('Error: ', err));
Но я хотел бы знать, как это будет на самом деле реализовано. В моем подходе я помещаю свой код в успех обещания, но это не так, как мы на самом деле делаем с импортом (может быть, в React), мы напрямую начинаем использовать функции из импортированного файла, не помещая код в обещание / без явной проверки этого файла. загружен. Как это делается внутри узла?
import myfile from './myfile.js';
//Start using functions/Components from myfile.js