То, что сказал Чаксмаш, правда.Это IIFEs.Рассматривали ли вы использование функциональных объявлений и затем экспорт с использованием синтаксиса 'require', например, так:
module.exports = function print_a(){
console.log('Hello from a')
});
module.exports = function print_b(){
console.log('Hello from b')
});
В качестве альтернативы, вы можете определить функции, а затем просто экспортировать их явно в одном выражении, например, так (вместо назначения каждогофункция для module.exports индивидуально):
module.exports = { print_a, print_b }
И я бы использовал синтаксис require для импорта модуля в файл JS, который будет вызывать следующие функции:
const { printA, printB } = require('./someModule.js')
MajorРазница между require и import заключается в том, что require автоматически сканирует node_modules для поиска модулей, но импорт из ES6 не будет.Большинство людей используют babel для компиляции импорта и экспорта, что делает импорт таким же, как требуется