использование менее загруженного в веб-пакете - PullRequest
0 голосов
/ 12 мая 2018

Я создаю файл bundle.js с помощью веб-пакета. Я решил, что хочу также начать использовать LESS, и я попытался добавить менее загрузчик в соответствии с инструкциями:

https://github.com/webpack-contrib/less-loader

Я побежал: npm-install less-loader --save-dev

Затем я обновил webpack.config.js, добавив в него правила:

module.exports = {
    entry: "./src/entry.js",
    output: {
        path: __dirname,
        filename: "./bundle.js",
        publicPath: "/"
    },
    module: {
    //******** BELOW IS THE RULES U ADDED *************/
        rules: [{
            test: /\.less$/,
            use: [{
              loader: 'style-loader' // creates style nodes from JS strings
            }, {
              loader: 'css-loader' // translates CSS into CommonJS
            }, {
              loader: 'less-loader' // compiles Less to CSS
            }]
        }],
         //******** ABOVE IS THE RULES U ADDED *************/
        rules: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                query: {
                    presets: ['es2015']
                }
            }
        ],
        rules: [
            {
              test: /\.css$/,
              use: [
                { loader: "style-loader" },
                { loader: "css-loader" }
              ]
            },
            {
                test: /\.(html)$/,
                use: {
                  loader: 'html-loader',
                  options: {
                    attrs: [':data-src']                  
                  }
                }
            }
        ]
    },
    devServer: {
        stats: 'errors-only'
    },
    stats: {
        colors: true
    },
    devtool: 'source-map'
};

Затем я добавил меньше файла и потребовал его примерно так: требуется ( "./ Bootstrap / самозагрузки-iso.less");

меньший файл - это просто оболочка для начальной загрузки (я также попробовал более простой CSS)

#entry {
    @import (less) './css/bootstrap.css';
  }

Но я продолжаю получать следующую ошибку:

ERROR in ./src/Bootstrap/bootstrap-iso.less
Module parse failed: Unexpected character '#' (1:0)
You may need an appropriate loader to handle this file type.
| #entry {
|     @import (less) './css/bootstrap.css';
|   }
 @ ./src/entry.js 13:0-41

похоже, что загрузчик загружен неправильно?

1 Ответ

0 голосов
/ 12 мая 2018

Это были мои ошибки, у меня не должно было быть нескольких свойств правил .. см. Рабочий фрагмент webpack.config.js:

module: {
        rules: [{
            test: /\.(less)$/,
            use: [{
              loader: 'style-loader' // creates style nodes from JS strings
            }, {
              loader: 'css-loader' // translates CSS into CommonJS
            }, {
              loader: 'less-loader' // compiles Less to CSS
            }]},
            {
                test: /\.js$/,
                loader: 'babel-loader',
                query: {
                    presets: ['es2015']
                }
            },
            {
                test: /\.css$/,
                use: [
                  { loader: "style-loader" },
                  { loader: "css-loader" }
                ]
              },
              {
                  test: /\.(html)$/,
                  use: {
                    loader: 'html-loader',
                    options: {
                      attrs: [':data-src']                  
                    }
                  }
              }
        ],
    },
...