Search code examples
javascriptnpmlesslaravel-mix

Enable inline javascript in LESS


I would like to use inline js in my less files but I get the following message:

Inline JavaScript is not enabled. Is it set in your options?

How can I enable that?


Solution

  • I had same problem, I use webpack with less loader, I needed to add javascript option in less loader config:

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

    I found in the sourcecode of less compiler: https://github.com/less/less.js/blob/3.x/bin/lessc

    that they parse js less option in this way:

            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;
    

    So you should probably use '--js' in a static compilation ( command line ) or 'javascriptEnabled: true' in a dynamic compilation ( like webpack loader ) to enable javascript.