У меня есть проект, который использует 15 МБ буферов, поэтому 100,010 байт вообще не проблема.
Я пишу это как ответ, просто чтобы показать вам код, который я написал, и этот код при полном запуске само по себе работает просто отлично:
global.buff_idx = 0;
global.buff = Buffer.alloc(100010);
let data = "12345";
let bytes_written = global.buff.write(data, global.buff_idx);
global.buff_idx += bytes_written;
console.log(bytes_written);
Он регистрирует 5
, что вы ожидаете.
Чтобы мы могли помочь вам в дальнейшем, вам нужно будет опубликовать Minimal , Воспроизводимый пример .
К вашему сведению, я также попробовал этот же код разделить на два файла, как вы показываете. Нет разницы. Есть что-то еще, что вызывает проблему в вашей среде, кроме кода, который вы показываете.
И еще один момент:
Все это глобальное использование буфера является мерзостью в node.js. Инкапсулируйте общий буфер в модуль и просто попросите каждый файл, который хочет использовать общий буфер, импортировать ваш буферный модуль, чтобы получить доступ к общему буферу. Вот как вы должны кодировать в node.js, а не использовать глобальные переменные, подобные этой.