Система модулей в nodejs позволяет подключать не только .js и .json - файлы, но и любые другие, если вы зададите для них функцию трансляции.
Зачем это нужно? Можно напихать в эти файлы ваших собственных DSL, которые будут при включении с помощью require()
на лету транслироваться в JavaScript. Про то, зачем использовать DSL написано многабукав, и повторять все это тут я не буду.
Итак, допустим у нас есть вот такого содержания файлик (converter.rule):
USD 30
EUR 40
И мы хотим, чтобы при включении его в наш код, нам становились доступны функции для конвертации валют: