Узлы минифайеры по каналам потоков - PullRequest
0 голосов
/ 09 ноября 2019

Я работал над потоками и преобразованиями в Node.js. Я написал преобразование, которое выполняет поиск и замену.

Если у меня есть входной файл, например

name: bob
name: mike

, и я хотел найти все «имя» и заменить его на «Имя»

First Name: bob
First Name: mike

Я должен был проверить каждого персонажа. Т.е. "n" === "name"[0]

Я хотел сделать эту работу с кусками, которые являются всего одним символом, потому что это в любом случае имеет значение. Чтобы проверить это, я создал читаемые потоки, такие как Fs.createReadStream(file, {highwatermark:1});, что означает, что буквально 1 символ читается за раз в функции _transform(chunk). Это прекрасно работает, потому что если я обнаруживаю начало совпадения, я собираю куски в буфер, пока не будет найдено полное совпадение. Затем я продолжаю.

Теперь я хочу добавить минификацию к своему проекту. У меня вопрос - может ли минификатор (css / html / js) работать на одном уровне, или он должен сначала объединить все фрагменты? Если да, то делает ли это минимизацию потоков совершенно бессмысленной? Суть потока в том, что вы получаете куски данных, но чтобы минимизировать что-то, вам не нужен весь файл, чтобы он был целым? Будет ли какое-либо преимущество, кроме того, что оно выглядит круто, потому что оно использует pipe как gulp?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...