Skip to content

Commit 8dfa3f0

Browse files
authored
Update README_OLD.md
1 parent abf60ee commit 8dfa3f0

1 file changed

Lines changed: 75 additions & 0 deletions

File tree

README_OLD.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,3 +196,78 @@ The result will be a variable `images`, containing the following information:
196196
[node-url]: https://nodejs.org
197197
[deps]: https://david-dm.org/ArtyomResh/image-resolution-loader.svg
198198
[deps-url]: https://david-dm.org/ArtyomResh/image-resolution-loader
199+
200+
201+
202+
203+
204+
205+
206+
207+
208+
209+
210+
211+
212+
213+
214+
215+
[![npm][npm]][npm-url]
216+
[![node][node]][node-url]
217+
[![deps][deps]][deps-url]
218+
219+
Проблемы/TODO:
220+
Imgproxy url'ы можно составлять как в билдтайме, так и в рантайме.
221+
Набор инструментов в этой библиотеке заточен под подготовку url в билдтайме.
222+
На это есть несколько причин:
223+
1. Лучше потратить процессорное время в билдтайме, чем в рантайме
224+
2. Подпись url в imgproxy возможна только в билдтайме
225+
3. В билдтайме у нас есть доступТо что мы можем получить все возможные брейкпоинты по картинкам в билдтайме
226+
227+
Минусы такого подхода:
228+
1. Неудобно использовать урлы с подписью? Не поиграешь
229+
2. Нельзя воспользоваться require context dynamic
230+
231+
3. Импорт через require.context('./myImage') и функцию-хелпер/компонент
232+
4. Во время импорта все ссылки на изображения imgproxy собираем в один json
233+
234+
<picture class="image css-1bv363l e1mofdgw0">
235+
<source media="(max-width: 767px)" type="image/webp"
236+
srcset="/_next/static/images/core-values/mobile.all/reliability-c770d411@1x.webp 1x,/_next/static/images/core-values/mobile.all/reliability-6c497195@2x.webp 2x,/_next/static/images/core-values/mobile.all/reliability-67dc4bb0@3x.webp 3x">
237+
<img
238+
srcset="/_next/static/images/core-values/desktop.m/reliability-8b8b8b67@1x.png 1x,/_next/static/images/core-values/desktop.m/reliability-a5845164@2x.png 2x,/_next/static/images/core-values/desktop.m/reliability-db64bb29@3x.png 3x"
239+
src="/_next/static/images/core-values/desktop.m/reliability-8b8b8b67@1x.png"
240+
alt="Illustration: a man folds a wall of lego">
241+
</picture>
242+
243+
Проблемы:
244+
1. Разработка на локалхосте, запускать докер или делать bypass всей этой логики?
245+
2. Порядок source в picture, первый подошедший используется
246+
3. Picture компонент можно удалить в пользу обобщения
247+
4. Объединить Picture компоненты новые и старые
248+
5. Собирать статистику какие картинки запрашиваются
249+
6. Собирать все урлы и потом по ним проходить после сборки стенда
250+
7. Поправить file-loader
251+
252+
Идеи:
253+
1. Загружать picture тег асинхронно, например, как кусок html
254+
img src='csssr.com/getimage/myimagename'
255+
server.use('/getimage/:imagename', () => {})
256+
257+
258+
Порядок в srcSet не имеет значения
259+
Порядок в source имеет значение, первое подошедшее правило срабатывает
260+
261+
262+
Ожидается file-loader перед этим лоадером
263+
264+
Можно потом вынести imgproxy в options loader'а
265+
266+
[MIT](./LICENSE)
267+
268+
[npm]: https://img.shields.io/npm/v/image-resolution-loader.svg
269+
[npm-url]: https://npmjs.com/package/image-resolution-loader
270+
[node]: https://img.shields.io/node/v/image-resolution-loader
271+
[node-url]: https://nodejs.org
272+
[deps]: https://david-dm.org/ArtyomResh/image-resolution-loader.svg
273+
[deps-url]: https://david-dm.org/ArtyomResh/image-resolution-loader

0 commit comments

Comments
 (0)