【问题标题】:using less-loader in webpack在 webpack 中使用 less-loader
【发布时间】:2018-05-12 05:08:55
【问题描述】:

我正在使用 webpack 创建一个 bundle.js 文件。我已经决定我也想开始使用 LESS,并尝试按照说明添加 less-loader:

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'
};

然后我添加了一个 less 文件并像这样要求它: 要求("./Bootstrap/bootstrap-iso.less");

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

似乎加载器没有正确加载?

【问题讨论】:

    标签: webpack less less-loader


    【解决方案1】:

    这是我的错误,我不应该有多个规则属性。请参阅工作 webpack.config.js sn-p:

    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']
                }
            }
        }
        ]
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-14
      • 2015-10-10
      • 2016-09-08
      • 2019-11-02
      • 2018-08-09
      • 2017-06-10
      • 1970-01-01
      相关资源
      最近更新 更多