首页  >  问答  >  正文

node.js - less-loader 使用Mixins出错

.a, #b {
    color: red;
}
.mixin-class {
    .a();
}
.mixin-id {
    #b();
}
//配置
{
                test: /less\/.+\.less$/,
                use: [
                    'style-loader',
                    {
                        loader: 'css-loader',
                        options: {
                            modules: true,
                            localIdentName: '[local]-[hash:base64:5]'
                        }
                    },
                    'less-loader',
                    'postcss-loader'
                ]
            },
//错误信息
ERROR in ./~/css-loader?{"modules":true,"localIdentName":"[local]-[hash:base64:5]"}!./~/less-loader/dist!./~/postcss-loader/lib!./public/static/less/vols.packages.less
0|luoo-m   | Module build failed: Syntax Error
0|luoo-m   | (102:5) Unknown word
0|luoo-m   |   100 | }
0|luoo-m   |   101 | .mixin-class {
0|luoo-m   | > 102 |     .a();
0|luoo-m   |       |     ^
0|luoo-m   |   103 | }
0|luoo-m   |   104 | .mixin-id {
0|luoo-m   |  @ ./public/static/less/vols.packages.less 4:14-197 16:2-20:4 17:20-203
0|luoo-m   |  @ ./app/containers/vols/packages.js
0|luoo-m   |  @ ./app/routes/client/vols/index.js
0|luoo-m   |  @ ./app/routes/client.js
0|luoo-m   |  @ ./app/client.js

less的其他功能暂时没什么问题,但是用到这个混合代码就出错了,求解!

黄舟黄舟2689 天前899

全部回复(2)我来回复

  • 巴扎黑

    巴扎黑2017-06-29 10:11:15

    你的样式用了 4 个 loader,按照顺序首先应用的是 postcss,这个错误是 postcss 解析不了这个语法抛出的,而不是 less。


    截图来自 https://autoprefixer.github.io/

    所以将 less-loader 和 postcss-loader 交换一下位置应该就可以了。

    回复
    0
  • 世界只因有你

    世界只因有你2017-06-29 10:11:15

    有点不明白, .a() less里面是这么写的吗?? 应该是.a{}吧

    回复
    0
  • 取消回复