首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在《webpack》中使用less-loader

在《webpack》中使用less-loader
EN

Stack Overflow用户
提问于 2018-05-12 13:08:55
回答 1查看 16.5K关注 0票数 2

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

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

我运行了: npm-install less-loader --save-dev

然后,我更新了webpack.config.js以包含以下规则:

代码语言:javascript
复制
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'
};

然后我添加了一个更少的文件,如下所示: require("./Bootstrap/bootstrap-iso.less");

less文件只是一个bootstrap的包装器(我也尝试过更简单的css)

代码语言:javascript
复制
#entry {
    @import (less) './css/bootstrap.css';
  }

但我仍然收到以下错误:

代码语言:javascript
复制
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

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

EN

回答 1

Stack Overflow用户

发布于 2018-05-12 13:36:33

这是我的错误,我不应该有多个规则属性..请参阅工作webpack.config.js代码片段:

代码语言:javascript
复制
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']
            }
        }
    }
    ]
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50303040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档