Названия классов CSS obfuscation [duplicate]

Предполагая строки ASCII:

string1 = 'Hello'
string2 = 'hello'

if string1.lower() == string2.lower():
    print "The strings are the same (case insensitive)"
else:
    print "The strings are not the same (case insensitive)"
20
задан Nick Ginanto 7 February 2013 в 10:07
поделиться

2 ответа

Обновление: CSS-модули

Эта практика теперь известна как «CSS-модули» и становится все более популярной благодаря популярности Webpack. Концепция состоит в том, чтобы преобразовать (хеш) CSS-селекторов в уникальные имена классов, чтобы убедиться, что между модулями не существует столкновений между стилями.

Модуль css-loader для Webpack имеет modules, который позволяет эту функцию. Он обычно используется с React, где вы назначаете имена классов в своей разметке через объект JS, доступный при импорте файла CSS, например

import styles from './style.css

. Если этот файл CSS имеет селектор, например. .sidebar, он применяется в разметке через

className={styles.sidebar} // JSX

. Webpack будет хешировать имя класса и селектор сопряжения для обеспечения уникальности.

Оригинальный ответ ↓

Это будет продукт минимизации и сжатия. Это, несомненно, будет написано с человекочитаемыми идентификаторами и именами классов, но, как прокомментировал Zeta, они затем заменяются аббревиатурами для сохранения байтов. Такие вещи не имеют значения для среднего веб-сайта, но когда вы получаете миллионы просмотров страниц в минуту, все это считается.

Взгляните на разницу между развитием и production версии jQuery. Это пример результата минимизации и сжатия.

9
ответ дан Astrotim 4 September 2018 в 07:19
поделиться

Это происходит потому, что они компилируют свой код, я имею в виду, что они пишут код в java и все остальные обрабатываются с помощью GWT того же самого о facebook, который они пишут с помощью C, а затем делают то же самое.

0
ответ дан user3099030 4 September 2018 в 07:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: