Я обновил css-загрузчик веб-пакета, чтобы он выглядел следующим образом:
Код: Выделить всё
{
loader: 'css-loader',
options: {
modules: {
// for now, only enable CSS modules for LESS files with ".module."
auto: /\.module\.\w+$/i,
localIdentName: '[sha1:hash:hex:6]',
},
},
}
Весь класс имена в нашей кодовой базе имеют регистр «кебаб», и хотя модули CSS предпочитают использовать CamelCase, вы все равно можете получить к нему доступ, выполнив стили ['some-class-name'].
Моя проблема заключается в том, что клиентское приложение даже не строится. Он продолжает жаловаться на неожиданные токены в строке, например: .user-profile-wrapper { // здесь стили
Поэтому мне не нужно ничего менять в LESS файл, но ладно, давайте просто удалим оболочку для кебаба.
Затем, когда я изменю его на просто .wrapper { // стили здесь , клиентское приложение успешно собирается но теперь наш сервер узла выдает неожиданный результат токен '.' создает ошибки в точке перед .wrapper {}.
Код: Выделить всё
/path/to/app/styles/home/something.module.less:1
.wrapper {
^
SyntaxError: Unexpected token '.'
at wrapSafe (node:internal/modules/cjs/loader:1378:20)
at Module._compile (node:internal/modules/cjs/loader:1428:41)
at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
at Object.newLoader [as .js] (/path/to/app/node_modules/pirates/lib/index.js:121:7)
at Module.load (node:internal/modules/cjs/loader:1288:32)
at Function.Module._load (node:internal/modules/cjs/loader:1104:12)
at Module.require (node:internal/modules/cjs/loader:1311:19)
at require (node:internal/modules/helpers:179:18)
at Object. (/path/to/app/components/home/MyComponent.tsx:6:1)
at Module._compile (node:internal/modules/cjs/loader:1469:14)
Подробнее здесь: https://stackoverflow.com/questions/793 ... ss-modules
Мобильная версия