Первое, что нужно здесь понять, то что лоадер работает в compile-time, а Ваш js код где require - в run-time.
Лоадер получает на вход исходный текст файла (или текст выданный предыдущим лоадером) и выдает свой текст на выход. Последний лоадер (в цепочке лоадеров webpack он стоит первым) должен выдавать валидный js.
Ваш лоадер конечно может сгенерировать в выходном файле функцию, но на процесс компиляции она уже повлиять особо не сможет.