Как разбить js на файлы/модули?
Совершенно не понимаю зачем городить огород с оборачиванием в функцию предложенный  Александр Косицын . Этот способ скорее подходит для модулей написанных для браузера, с целью изолировать их пространство имен.
Предлагаю не заморачиваться, и поступить так, как показано в оф.доке express-а:файл с кодом роутераvar express = require('express');
var router = express.Router();

// middleware that is specific to this router
router.use(function timeLog(req, res, next) {
  console.log('Time: ', Date.now());
  next();
});
// define the home page route
router.get('/', function(req, res) {
  res.send('Birds home page');
});
// define the about route
router.get('/about', function(req, res) {
  res.send('About birds');
});

module.exports = router;основной файл приложения...
var birds = require('./birds');
...
app.use('/birds', birds);
...
PS: при этом имена и местоположение файлов роутеров весьма условная вещь.  По факту вы можете давать им любые имена и укладывать в любые папки, главное не запутайтесь при их подключении. Например некий роутер отвечающий за чат лежит в папке `/routers/chat` и называется `main.js`. Чтобы его подключить, нам надо будет написать что то типа:...
var chat = require('./routers/chat/main.js');
...
app.use('/chat, chat);
...
Если этот код делает что то определенное, то выноси в отдельный файл и подключай в html разметку.
А так оборачиваешь свой функционал в функцию. И потом вызываешь где надо в твоем коде в необходимое время.
Или импортируй его напрямую, соблюдая порядок импортов. При импорте файл исполняется
Посмотри в сторону вебпака.