Я хотел бы использовать inline js в моих меньших файлах, но я получаю следующее сообщение:
Встроенный JavaScript не включен. Установлен ли он в ваших настройках?
Как включить это?
Я хотел бы использовать inline js в моих меньших файлах, но я получаю следующее сообщение:
Встроенный JavaScript не включен. Установлен ли он в ваших настройках?
Как включить это?
У меня была такая же проблема, я использую webpack с меньшим загрузчиком, мне нужно добавить параметр javascript в конфигурацию меньше loader:
{
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 меньше опции таким образом:
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' в динамической компиляции (например, загрузчик веб-пакетов), чтобы включить 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"
... ваш пробег может отличаться
Я пришел сюда, чтобы найти: "Встроенный JavaScript не включен. Установлен ли он в ваших настройках? У меня было это:
Inline JavaScript is not enabled. Is it set in your options?
in uikit/src/less/components/text.less (line 49, column 4) ERROR in ./src/styles.less
Ошибка сборки модуля: ModuleBuildError: сбой сборки модуля:...
Я пошел в строку 49 в uikit/src/less/components/text.less и дважды слэш его (крючок).
Кстати, перед тем, как поработать с "Inline JavaScript", мне пришлось адаптировать эту функцию:
//UIkit, правильные /ajust функции для Less // Функция Adapte rgba UIkit для Less - range 0 < > 1
.rgbaColorIn(@color, @opacity : 1) {
@result: rgba(red(@color), green(@color), blue(@color), @opacity)}
//Функция Adapte затемняет UIkit для меньшего диапазона 0 < > 100%
.dark(@color, @pct) {darken(red(@color), green(@color), blue(@color), @pct)}
//Адаптация функции fade d'UIkit pour Less - range 0 < > 100%
.or-fade(@color, @pct) {fade(red(@color), green(@color), blue(@color), @pct)}
[Angular6 и UIkit-3-rc]