Я хотел бы использовать встроенный js в моих файлах less, но я получаю следующее сообщение:

Встроенный JavaScript не включен. Это установлено в ваших настройках?

Как я могу включить это?

У меня была та же проблема, я использую веб-пакет с меньшим количеством загрузчика, мне нужно было добавить опцию javascript в меньше конфигурации загрузчика:

{ test: /.less$/, use: [{ loader: "style-loader" }, { loader: "css-loader" }, { loader: "less-loader", options: { javascriptEnabled: true } }] } 

Я нашел в исходном коде меньше компилятора: https://github.com/less/less.js/blob/3.x/bin/lessc

что они разбирают js less вариант таким образом:

  case 'js': options.javascriptEnabled = true; break; case 'no-js': console.error('The "--no-js" argument is deprecated, as inline JavaScript '   'is disabled by default. Use "--js" to enable inline JavaScript (not recommended).'); break; 

Поэтому вам, вероятно, следует использовать «—js» в статической компиляции (командная строка) или «javascriptEnabled: true» в динамической компиляции (например, загрузчик webpack), чтобы включить javascript.

Встроенный JavaScript был отключен по умолчанию из соображений безопасности. Дело в том, что онлайн-генераторы иногда допускают настройку переменных Less, которые они затем интерпретируют напрямую.

Это было уязвимо для внедрения кода, что означало, что JavaScript мог быть внедрен в таблицу стилей Less, которая запускалась непосредственно на сервере.

По этой причине встроенный JavaScript был объявлен устаревшим (по умолчанию в 3.x установлено значение false), и заменой этого является синтаксис @plugin и использование подходящего плагина JS. — (См .: http://lesscss.org/features/#plugin-atrules-feature )

Да, вы все равно можете установить для параметров компиляции значение javascriptEnabled: true , но это не считается наилучшей практикой для таблиц стилей. В общем, ваша таблица стилей не должна содержать JS. Лучше использовать плагин.

Я получил эту проблему при использовании новейшей версии менее. Затем я перешел на версию 2.7, и я это исправил.

Да, ко всему, что сказали @ Мэтью-Дин и @ Дэвид-Карпини … но для тех, кто ищет фрагмент кода Grunt-LESS, вы идете:

  less: { dev: { options: { paths: ['Content/less'], plugins: [ new(require('less-plugin-autoprefix'))({ browsers: ['last 2 versions'] }), new(require('less-plugin-clean-css'))({ sourceMap: true, advanced: true }) ], relativeUrls: true, javascriptEnabled: true }, files: { 'Content/less/site.css': 'Content/less/site.less' } } }, 

это работает для моей реализации с использованием "grunt-contrib-less": "^2.0.0" … ваш пробег может отличаться

У меня была такая же проблема, но в настройке темы vue-cli 4 iVueUi . Может быть, у кого-то есть такие же проблемы, как у меня. И это решение:

Создайте или используйте существующий файл vue.config.js в корне вашего проекта. И добавить этот код (или частично добавить) в него.

 module.exports = { css: { loaderOptions: { less: { javascriptEnabled: true } } } }; 

Но помните, что js по умолчанию отключен по соображениям безопасности. Так что на свой страх и риск.